ICLRStrongName::StrongNameSignatureGenerationEx 메서드

업데이트: 2011년 4월

지정된 플래그에 따라 지정된 어셈블리의 강력한 이름 서명을 생성합니다.

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) - 어셈블리 서명을 테스트합니다.

반환 값

메서드가 성공적으로 완료될 경우 S_OK이며, 그 이외의 경우 실패를 나타내는 HRESULT 값입니다(목록에 대한 공통 HRESULT 값 참조).

설명

시그니처를 만들지 않고 시그니처의 크기를 계산하려면 wszFilePath에 대해 null을 지정합니다.

시그니처를 파일에 직접 저장하거나 호출자에게 반환할 수 있습니다.

SN_SIGN_ALL_FILES를 지정하고 공개 키를 포함하지 않은 경우(pbKeyBlob와 wszFilePath가 모두 null임) 링크된 모듈의 해시는 다시 계산되지만 어셈블리는 다시 서명되지 않습니다.

SN_TEST_SIGN을 지정한 경우 어셈블리가 강력한 이름으로 서명되었음을 나타내도록 공용 언어 런타임 헤더는 수정되지 않습니다.

요구 사항

플랫폼: .NET Framework 시스템 요구 사항 참조

헤더: MetaHost.h

라이브러리: MSCorEE.dll에 리소스로 포함됨

.NET Framework 버전: 4

참고 항목

참조

ICLRStrongName 인터페이스

기타 리소스

ICLRStrongName::StrongNameSignatureGeneration 메서드

변경 기록

날짜

변경 내용

이유

2011년 4월

반환 값을 수정했습니다.

콘텐츠 버그 수정

2010년 7월

항목이 추가되었습니다.

향상된 기능 관련 정보