SignedCode.Sign 메서드

[ Sign 메서드는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 대신 PInvoke(Platform Invocation Services)를 사용하여 Win32 API SignerSignEx, SignerTimeStampExWinVerifyTrust 함수를 호출하여 Authenticode 디지털 서명으로 콘텐츠에 서명합니다. PInvoke에 대한 자세한 내용은 플랫폼 호출 자습서를 참조하세요. P/Invoke를 통한 .NET 및 CryptoAPI: P/Invoke를 통한 1부 및 .NET 및 CryptoAPI:CAPICOM 및 P/Invoke를 사용하여 .NET 암호화 확장의 2부 하위 섹션도 유용할 수 있습니다.]

Sign 메서드는 Authenticode 디지털 서명을 만들고 SignedCode.FileName 속성에 지정된 실행 파일에 서명합니다.

구문

SignedCode.Sign( _
  [ ByVal Signer ] _
)

매개 변수

서명자 [in, 선택 사항]

코드에 서명하는 데 사용되는 인증서의 프라이빗 키에 액세스할 수 있는 Signer 개체입니다. 기본값은 Null입니다.

반환 값

이 메서드는 값을 반환하지 않습니다.

설명

Sign 메서드를 호출하기 전에 코드를 포함하는 파일을 FileName 속성에 지정해야 합니다.

실행 파일이 이미 서명된 경우 이 메서드는 기존 서명을 덮어씁니다.

다음 결과가 Signer 매개 변수 값에 적용됩니다.

  • Signer 매개 변수가 NULL이 아닌 경우 이 메서드는 연결된 인증서가 가리키는 프라이빗 키를 사용하여 서명을 암호화합니다. 인증서가 가리키는 프라이빗 키를 사용할 수 없는 경우 메서드가 실패합니다.
  • Signer 매개 변수가 NULL이고 코드 서명 기능이 있는 프라이빗 키에 액세스할 수 있는 인증서가 CURRENT_USER MY 저장소에 정확히 하나의 인증서가 있는 경우 해당 인증서는 서명을 만드는 데 사용됩니다.
  • Signer 매개 변수가 NULL이면 Settings.EnablePromptForCertificateUI 속성 값이 true이고 CURRENT_USER MY 저장소에 코드 서명 기능이 있는 사용 가능한 프라이빗 키가 있는 인증서가 두 개 이상 있는 경우 사용자가 사용할 인증서를 선택할 수 있는 대화 상자가 나타납니다.
  • Signer 매개 변수가 NULL이고 Settings.EnablePromptForCertificateUI 속성이 false이면 메서드가 실패합니다.
  • Signer 매개 변수가 NULL이고 코드 서명 기능이 있는 사용 가능한 프라이빗 키가 있는 CURRENT_USER MY 저장소에 인증서가 없으면 메서드가 실패합니다.

이 메서드는 SHA-1 해시 알고리즘을 사용합니다.

요구 사항

요구 사항
재배포 가능 파일
Windows Server 2003 및 Windows XP의 CAPICOM 2.0 이상
DLL
Capicom.dll