다음을 통해 공유


SpSealMessageFn 콜백 함수(ntsecpkg.h)

클라이언트와 서버 간에 교환되는 메시지를 암호화합니다.

SpSealMessage 함수는 보안 지원 공급자 인터페이스EncryptMessage(일반) 함수에 대한 디스패치 함수입니다.

구문

SpSealMessageFn Spsealmessagefn;

NTSTATUS Spsealmessagefn(
  [in]      LSA_SEC_HANDLE ContextHandle,
  [in]      ULONG QualityOfProtection,
  [in, out] PSecBufferDesc MessageBuffers,
  [in]      ULONG MessageSequenceNumber
)
{...}

매개 변수

[in] ContextHandle

메시지에 서명하는 데 사용되는 보안 컨텍스트 의 핸들입니다.

[in] QualityOfProtection

보호 품질을 나타내는 패키지별 플래그를 지정합니다. SSP/AP는 이 매개 변수를 사용하여 암호화 알고리즘을 선택할 수 있습니다.

[in, out] MessageBuffers

메시지 버퍼를 포함하는 SecBufferDesc 구조체에 대한 포인터입니다. 이러한 메시지 버퍼 중 하나만 SECBUFFER_DATA 형식일 수 있으며 암호화할 메시지를 포함합니다. 암호화가 현재 위치에서 수행되므로 버퍼에 SECBUFFER_READONLY 특성을 가질 수 없습니다.

[in] MessageSequenceNumber

메시지에 할당할 시퀀스 번호입니다. 시퀀스 번호는 선택 사항이며 메시지 손실 및 삽입에 대한 보호로 사용됩니다. 값이 0이면 시퀀스 번호가 사용되지 않음을 나타냅니다.

반환 값

함수가 성공하면 STATUS_SUCCESS 반환합니다.

함수가 실패하면 실패한 이유를 나타내는 NTSTATUS 코드를 반환합니다. 다음 표에서는 오류의 일반적인 이유와 함수가 반환해야 하는 오류 코드를 나열합니다.

반환 코드 설명
STATUS_INVALID_HANDLE
컨텍스트를 찾을 수 없거나 메시지 무결성에 대해 구성되지 않았습니다.
STATUS_INVALID_PARAMETER
서명 버퍼를 찾을 수 없거나 너무 작습니다.

설명

SpSealMessage 함수를 사용하여 보낸 사람에서 암호화한 메시지는 SpUnsealMessage 함수를 사용하여 암호 해독됩니다.

SSP/AP는 SpSealMessage 함수를 구현해야 합니다. 그러나 구현에 지정된 실제 이름은 개발자에게 달려 있습니다.

SpSealMessage 함수에 대한 포인터는 SpUserModeInitialize 함수에서 받은 SECPKG_USER_FUNCTION_TABLE 구조체에서 사용할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 ntsecpkg.h

추가 정보

SECPKG_USER_FUNCTION_TABLE

SpUnsealMessage

SpUserModeInitialize