SslExportKey 함수

Sslexportkey 함수는 SSL(Secure Sockets Layer) 프로토콜 (SSL) 세션 키 또는 공용 임시 키를 직렬화 된 BLOB로 반환 합니다.

구문

SECURITY_STATUS WINAPI SslExportKey(
  _In_      NCRYPT_PROV_HANDLE hSslProvider,
  _In_      NCRYPT_KEY_HANDLE  hKey,
  _In_      LPCWSTR            pszBlobType,
  _Out_opt_ PBYTE              pbOutput,
  _In_      DWORD              cbOutput,
  _Out_     DWORD              *pcbResult,
  _In_      DWORD              dwFlags
);

매개 변수

Hsslprovider [ 진행]

SSL 프로토콜 공급자 인스턴스의 핸들입니다.

hKey [ 진행]

내보낼 키의 핸들입니다.

키를 지정 하지 않는 경우이 매개 변수를 NULL 로 설정 합니다.

참고

HKey 핸들은 SslOpenPrivateKey 함수를 호출 하 여 가져옵니다. Ncryptopenkey 함수에서 가져온 핸들은 지원 되지 않습니다.

pszBlobType [ 진행]

내보낼 BLOB의 유형을 지정 하는 식별자를 포함 하는 null로 끝나는 유니코드 문자열입니다. 이 값은 다음 값 중 하나일 수 있습니다.

의미
BCRYPT _ DH _ 공용 _ BLOB
Diffie-Hellman 공개 키를 내보냅니다. Pboutput 버퍼는 바로 다음에 키 데이터가 오는 BCRYPT _ DH _ 키 _ BLOB 구조를 수신 합니다.
BCRYPT _ ECCPUBLIC _ BLOB
ECC ( 타원 curve cryptography ) 공개 키를 내보냅니다. Pboutput 버퍼는 바로 다음에 키 데이터가 오는 BCRYPT _ ecckey _ BLOB 구조를 수신 합니다.
BCRYPT _ 불투명 _ 키 _ BLOB
단일 CSP ( 암호화 서비스 공급자 )와 관련 된 형식으로 대칭 키를 내보냅니다. 불투명 Blob은 전송할 수 없으며 BLOB을 생성 한 동일한 CSP ( 암호화 서비스 공급자 )를 사용 하 여 가져와야 합니다.
BCRYPT _ RSAPUBLIC _ BLOB
RSA 공개 키를 내보냅니다. Pboutput 버퍼는 바로 다음에 키 데이터가 오는 BCRYPT _ RSAKEY _ BLOB 구조를 수신 합니다.

Pboutput [ out, 선택 사항]

키 BLOB을 수신 하는 버퍼의 주소입니다. Cboutput 매개 변수는이 버퍼의 크기를 포함 합니다. 이 매개 변수가 NULL 인 경우이 함수는 pcbresult 매개 변수가 가리키는 DWORD 에 필요한 크기 (바이트)를 입력 합니다.

Cboutput [ 진행]

Poutput 버퍼의 크기 (바이트)입니다.

Pcbresult [ 제한이]

Poutput 버퍼에 복사 된 바이트 수를 받는 DWORD 변수의 주소입니다. 함수가 호출 될 때 pboutput 매개 변수가 NULL 로 설정 된 경우 poutput 버퍼에 필요한 크기 (바이트)가이 매개 변수가 가리키는 DWORD 에 반환 됩니다.

dwFlags [ 진행]

다음에 사용하도록 예약됩니다.

반환 값

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

함수가 실패 하면 0이 아닌 오류 값을 반환 합니다.

가능한 반환 코드에는 다음이 포함 되지만이에 국한 되지 않습니다.

반환 코드/값 Description
NTE _ 잘못 된 _ 핸들
0x80090026L
제공 된 핸들 중 하나가 잘못 되었습니다.

설명

Sslexportkey 함수는 한 프로세스에서 다른 프로세스로 세션 키를 전송 하 고, 공용 부분을 임시 키로 내보내는 작업을 용이 하 게 합니다.

세션 키를 내보낼 때 BLOB 형식은 불투명 합니다. 즉, SslexportkeySslImportKey 함수에서 모두 해석할 수 있는 경우 blob 형식이 관련이 없습니다.

임시 키의 공개 부분을 내보낼 때 BLOB 형식은 ncrypt _ DH _ 공용 _ blob 또는 ncrypt _ eccpublic _ blob 과 같은 적절 한 형식 이어야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows Vista [ 데스크톱 앱 전용]
지원되는 최소 서버
Windows 서버 2008 [ 데스크톱 앱만]
헤더
Sslprovider .h
DLL
Ncrypt.dll