CryptVerifySignature
디지털 서명이 데이터에 유효한지 확인합니다.
포맷
CryptVerifySignature(데이터 ; 알고리즘 ; 공개 RSA키 ; 서명)
매개 변수
데이터
- 서명
을 확인하기 위한 데이터를 나타내는 텍스트 표현식.
알고리즘
- 사용할 암호화 알고리즘의 이름(CryptAuthCode 함수 참조).
공개 RSA키
- 서명
을 생성하는 데 사용된 비공개 키에 해당되는 PEM 포맷의 PKCS #1 RSA 공개 키를 나타내는 텍스트.
서명
- CryptGenerateSignature 함수에서 반환된 값과 같은 데이터
를 확인할 이진 RSA 서명.
반환되는 데이터 유형
숫자
다음 버전에서 시작됨
18.0
설명
서명을 확인하기 위해 이 함수는 데이터
의 메시지 요약(지정된 알고리즘 사용)과 공개 RSA키
로 서명
을 암호화 해제해여 얻은 요약을 비교합니다.
RSA 공개 키는 다음 포맷을 사용해야 합니다.
-----공개 키 시작-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAqqDiwrPQwVaJzOzfFVBd
...
egkXva5cYBb8PNifmlPXVb8CAwEAAQ==
-----공개 키 종료-----
서명이 데이터에 대해 유효한 경우 이 함수는 1(true)을 반환하며 서명이 유효하지 않은 경우 0(false)을 반환합니다. 매개 변수 중 하나가 유효하지 않은 경우, "?"를 반환합니다.
예제 1
SHA-512 알고리즘을 사용하여 테이블::서명된 텍스트의 요약을 생성합니다. 테이블::서명 텍스트 필드에 저장된 서명을 Base64 디코드하고 컨테이너 데이터로 반환합니다. 테이블::공개 RSA키 필드의 값을 사용하여 서명을 암호화 해제하고 해당 서명 요약과 테이블::서명된 텍스트 필드를 기반으로 하는 요약을 비교합니다. 서명이 유효한 경우, 1을 반환합니다.
CryptVerifySignature(
테이블::서명된 텍스트 ; "SHA512" ; 테이블::공개 RSA키 ;
Base64Decode(
테이블::서명 ; "sig.data"
)
)