Пример 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)