다음을 통해 공유


VerifySignature 함수(sspi.h)

MakeSignature 함수를 사용하여 서명된 메시지가 올바른 순서로 수신되었으며 수정되지 않은지 확인합니다.

구문

KSECDDDECLSPEC SECURITY_STATUS SEC_ENTRY VerifySignature(
  [in]  PCtxtHandle    phContext,
  [in]  PSecBufferDesc pMessage,
  [in]  unsigned long  MessageSeqNo,
  [out] unsigned long  *pfQOP
);

매개 변수

[in] phContext

메시지에 사용할 보안 컨텍스트 에 대한 핸들입니다.

[in] pMessage

확인할 메시지와 서명을 포함하는 SecBuffer 구조체 집합을 참조하는 SecBufferDesc 구조체에 대한 포인터입니다. 서명은 SECBUFFER_TOKEN 형식의 SecBuffer 구조에 있습니다.

[in] MessageSeqNo

전송 애플리케이션에서 예상하는 시퀀스 번호(있는 경우)를 지정합니다. 전송 애플리케이션에서 시퀀스 번호를 유지하지 않는 경우 이 매개 변수는 0입니다.

[out] pfQOP

보호 품질을 나타내는 패키지별 플래그를 수신하는 ULONG 변수에 대한 포인터입니다.

일부 보안 패키지는 이 매개 변수를 무시합니다.

반환 값

함수가 메시지가 올바른 순서로 수신되었고 수정되지 않은 것을 확인하면 반환 값이 SEC_E_OK.

함수가 서명의 정보에 따라 메시지가 올바르지 않다고 판단하는 경우 반환 값은 다음 오류 코드 중 하나일 수 있습니다.

반환 코드 설명
SEC_E_OUT_OF_SEQUENCE
메시지가 올바른 순서로 수신되지 않았습니다.
SEC_E_MESSAGE_ALTERED
메시지가 변경되었습니다.
SEC_E_INVALID_HANDLE
phContext에서 지정한 컨텍스트 핸들이 잘못되었습니다.
SEC_E_INVALID_TOKEN
pMessage 에 유효한 SECBUFFER_TOKEN 버퍼가 없거나 버퍼가 너무 적습니다.
SEC_E_QOP_NOT_SUPPORTED
클라이언트와 서버 간에 협상된 보호 품질에는 무결성 검사가 포함되지 않았습니다.

설명

경고  

메시지가 다른 버전의 Windows에서 RsaSignPssSha512 알고리즘을 사용하여 서명된 경우 VerifySignature 함수가 실패합니다. 예를 들어 Windows 8 MakeSignature 함수를 호출하여 서명된 메시지로 인해 Windows 8.1 VerifySignature 함수가 실패합니다.

 

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 sspi.h(Security.h 포함)
라이브러리 Secur32.lib
DLL Secur32.dll

추가 정보

MakeSignature

SSPI 함수

SecBuffer