SignedCode.Sign 方法
[ Sign 方法可用於需求一節中指定的作業系統。 請改用平台叫用服務 (PInvoke) 呼叫 WIN32 API SignerSignEx、 SignerTimeStampEx和 WinVerifyTrust 函式,以使用 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 參數為 Null 且 Settings.EnablePromptForCertificateUI 屬性為 false,則方法會失敗。
- 如果 Signer 參數為 Null ,且CURRENT_USER MY 存放區中沒有憑證,且具有程式碼簽署功能的可用私密金鑰,則方法會失敗。
這個方法使用 SHA-1 雜湊演算法。
規格需求
需求 | 值 |
---|---|
可轉散發套件 |
Windows Server 2003 和 Windows XP 上的 CAPICOM 2.0 或更新版本 |
DLL |
|