ICLRStrongName::StrongNameSignatureGenerationEx 메서드
지정된 플래그에 따라 지정된 어셈블리에 대한 강력한 이름 서명을 생성합니다.
구문
HRESULT StrongNameSignatureGenerationEx (
[in] LPCWSTR wszFilePath,
[in] LPCWSTR wszKeyContainer,
[in] BYTE *pbKeyBlob,
[in] ULONG cbKeyBlob,
[out] BYTE **ppbSignatureBlob,
[out] ULONG *pcbSignatureBlob,
[in] DWORD dwFlags
);
매개 변수
wszFilePath
[in] 강력한 이름 서명이 생성될 어셈블리의 매니페스트가 포함된 파일의 경로입니다.
wszKeyContainer
[in] 공용/프라이빗 키 쌍을 포함하는 키 컨테이너의 이름입니다.
pbKeyBlob
이 null이면 wszKeyContainer
는 CSP(암호화 서비스 공급자) 내에서 유효한 컨테이너를 지정해야 합니다. 이 경우 컨테이너에 저장된 키 쌍을 사용하여 파일에 서명합니다.
pbKeyBlob
이 null이 아닌 경우 키 쌍은 키 BLOB(Binary Large Object)에 포함된 것으로 간주됩니다.
pbKeyBlob
[in] 공용/프라이빗 키 쌍에 대한 포인터입니다. 이 쌍은 Win32 CryptExportKey
함수에 의해 만들어진 형식입니다. pbKeyBlob
이 null인 경우 wszKeyContainer
에 의해 지정된 키 컨테이너는 키 쌍을 포함하는 것으로 간주됩니다.
cbKeyBlob
[in] pbKeyBlob
의 크기(바이트)입니다.
ppbSignatureBlob
[out] 공용 언어 런타임이 서명을 반환하는 위치에 대한 포인터입니다. ppbSignatureBlob
이 null이면 런타임은 wszFilePath
에 의해 지정된 파일에 서명을 저장합니다.
ppbSignatureBlob
이 null이 아닌 경우 공용 언어 런타임은 서명을 반환할 공간을 할당합니다. 호출자는 ICLRStrongName::StrongNameFreeBuffer 메서드를 사용하여 이 공간을 해제해야 합니다.
pcbSignatureBlob
[out] 반환된 서명의 크기(바이트)입니다.
dwFlags
[in] 다음 값 중 하나 이상입니다.
SN_SIGN_ALL_FILES
(0x00000001) - 연결된 모듈의 모든 해시를 다시 계산합니다.SN_TEST_SIGN
(0x00000002) - 어셈블리를 테스트 서명합니다.
Return Value
메서드가 성공적으로 완료된 경우 S_OK
, 그렇지 않으면 실패를 나타내는 HRESULT 값입니다(목록은 일반 HRESULT 값 참조).
설명
서명을 만들지 않고 서명의 크기를 계산하려면 wszFilePath
에 null을 지정합니다.
서명은 파일에 직접 저장하거나 호출자에게 반환할 수 있습니다.
SN_SIGN_ALL_FILES
가 지정되었지만 공개 키가 포함되지 않은 경우(pbKeyBlob
및 wszFilePath
모두 null임) 연결된 모듈의 해시는 다시 계산되지만 어셈블리는 다시 서명되지 않습니다.
SN_TEST_SIGN
이 지정되면 어셈블리가 강력한 이름으로 서명되었음을 나타내도록 공용 언어 런타임 헤더가 수정되지 않습니다.
요구 사항
플랫폼:시스템 요구 사항을 참조하세요.
헤더: MetaHost.h
라이브러리: 리소스로 MSCorEE.dll에 포함됩니다.
.NET Framework 버전: 4부터 사용 가능
참고 항목
.NET