Метод SignedCode.Sign
[Метод Sign доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте службы вызова платформы (PInvoke) для вызова функций API Win32 SignerSignEx, SignerTimeStampEx и WinVerifyTrust для подписи содержимого с помощью цифровой подписи Authenticode. Дополнительные сведения о PInvoke см. в руководстве по вызову платформы. .NET и CryptoAPI через P/Invoke. Часть 1 и .NET и CryptoAPI через P/Invoke: часть 2 подразделов расширения шифрования .NET с помощью CAPICOM и P/Invoke также могут быть полезны.]
Метод 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.
Требования
Требование | Значение |
---|---|
Распространяемые компоненты |
CAPICOM 2.0 или более поздней версии в Windows Server 2003 и Windows XP |
DLL |
|