共用方式為


SignedCode.Sign 方法

[ Sign 方法可用於需求一節中指定的作業系統。 請改用平台叫用服務 (PInvoke) 呼叫 WIN32 API SignerSignExSignerTimeStampExWinVerifyTrust 函式,以使用 Authenticode 數位簽章簽署內容。 如需 PInvoke 的相關資訊,請參閱 平臺叫用教學課程透過 P/Invoke 的 .NET 和 CryptoAPI:第 1 部分透過 P/Invoke 的 .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 參數為 NullSettings.EnablePromptForCertificateUI 屬性為 false,則方法會失敗。
  • 如果 Signer 參數為 Null ,且CURRENT_USER MY 存放區中沒有憑證,且具有程式碼簽署功能的可用私密金鑰,則方法會失敗。

這個方法使用 SHA-1 雜湊演算法。

規格需求

需求
可轉散發套件
Windows Server 2003 和 Windows XP 上的 CAPICOM 2.0 或更新版本
DLL
Capicom.dll