Пример 1
Параметры подписи и сертификат указываются явно.
VBScript
Option Explicit Const CAPICOM_CURRENT_USER_STORE = 2 Const CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN = 1 Dim oSigner Set oSigner = CreateObject("CAdESCOM.CPSigner") ' Укажите правильный серийный номер сертификата. Dim sSerialNumber : sSerialNumber = "12345678000100000000" ' Укажите правильный адрес службы штампов времени. Dim sTSAAddress : sTSAAddress = "http://domain/tsp/tsp.srf" oSigner.Certificate = GetSignerCertificate(sSerialNumber) oSigner.TSAAddress = sTSAAddress Dim oSignedData Dim oSettings Set oSignedData = CreateObject("CAdESCOM.CadesSignedData") oSignedData.Content = "Some very significant message" Dim sSignedData sSignedData = oSignedData.Sign(oSigner, False) Function GetSignerCertificate(SerialNumber) Set GetSignerCertificate = Nothing Dim oCert Dim oStore Set oStore = CreateObject("CAdESCOM.Store") oStore.Open CAPICOM_CURRENT_USER_STORE For Each oCert In oStore.Certificates If oCert.SerialNumber = SerialNumber Then Set GetSignerCertificate = oCert Exit For End If Next End Function
Пример 2
Параметры подписи не указываются. Будут использованы параметры по умолчанию. Правила выбора сертификата: см. описание метода Sign объекта CAPICOM.SignedData.
VBScript
Option Explicit Dim oSignedData Dim oSettings Set oSettings = CreateObject("CAPICOM.Settings") oSettings.EnablePromptForCertificateUI = True Set oSignedData = CreateObject("CAdESCOM.CadesSignedData") oSignedData.Content = "Some very significant message" Dim sSignedData sSignedData = oSignedData.Sign(Nothing, False)