StrongNameGetPublicKeyEx 메서드
퍼블릭/프라이빗 키 쌍에서 퍼블릭 키를 가져오고 해시 알고리즘 및 서명 알고리즘을 지정합니다.
구문
HRESULT StrongNameGetPublicKey (
[in] LPCWSTR pwzKeyContainer,
[in] BYTE *pbKeyBlob,
[in] ULONG cbKeyBlob,
[out] BYTE **ppbPublicKeyBlob,
[out] ULONG *pcbPublicKeyBlob
[in] ULONG uHashAlgId,
[in] ULONG uReserved,
);
매개 변수
pwzKeyContainer
[in] 공용/프라이빗 키 쌍을 포함하는 키 컨테이너의 이름입니다. pbKeyBlob
이 null이면 szKeyContainer
는 CSP(암호화 서비스 공급자) 내에서 유효한 컨테이너를 지정해야 합니다. 이 경우 StrongNameGetPublicKeyEx
메서드는 컨테이너에 저장된 키 쌍에서 퍼블릭 키를 추출합니다.
pbKeyBlob
이 null이 아닌 경우 키 쌍은 키 BLOB(Binary Large Object)에 포함된 것으로 간주됩니다.
키는 1024비트 RSA(Rivest-Shamir-Adleman) 서명 키여야 합니다. 현재 다른 형식의 키가 지원되지 않습니다.
pbKeyBlob
[in] 공용/프라이빗 키 쌍에 대한 포인터입니다. 이 쌍은 Win32 CryptExportKey
함수에 의해 만들어진 형식입니다. pbKeyBlob
이 null인 경우 szKeyContainer
에 의해 지정된 키 컨테이너는 키 쌍을 포함하는 것으로 간주됩니다.
cbKeyBlob
[in] pbKeyBlob
의 크기(바이트)입니다.
ppbPublicKeyBlob
[out] 반환된 공개 키 BLOB입니다. ppbPublicKeyBlob
매개 변수는 공용 언어 런타임에 의해 할당되고 호출자에게 반환됩니다. 호출자는 ICLRStrongName::StrongNameFreeBuffer 메서드를 사용하여 메모리를 해제해야 합니다.
pcbPublicKeyBlob
[out] 반환된 퍼블릭 키 BLOB의 크기입니다.
uHashAlgId
[in] 어셈블리 해시 알고리즘입니다. 허용되는 값 목록은 설명 섹션을 참조하세요.
uReserved
[in] 나중에 사용하도록 예약됨, 기본값은 null입니다.
Return Value
메서드가 성공적으로 완료된 경우 S_OK
, 그렇지 않으면 실패를 나타내는 HRESULT 값입니다(목록은 일반 HRESULT 값 참조).
설명
퍼블릭 키는 PublicKeyBlob 구조체에 포함되어 있습니다.
다음 표에서는 uHashAlgId
매개 변수에 허용되는 값 집합을 보여 줍니다.
속성 | 값 |
---|---|
None | 0 |
SHA-1 | 0x8004 |
SHA-256 | 0x800c |
SHA-384 | 0x800d |
SHA-512 | 0x800e |
요구 사항
플랫폼:시스템 요구 사항을 참조하세요.
헤더: MetaHost.h
라이브러리: 리소스로 MSCorEE.dll에 포함됩니다.
.NET Framework 버전: 4.5부터 사용 가능
참고 항목
.NET