Sample code for 30+ languages & platforms
VBScript

Sign a File to Create a .p7m File (using a PFX)

See more Encryption Examples

_LANGUAGE_ example to sign a file creating a .p7m file as output. The .p7m contains the signed contents of the original file. It can be verified and restored by calling VerifyP7M.

Chilkat VBScript Downloads

VBScript
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
'Create a Unicode (utf-16) output text file.
Set outFile = fso.CreateTextFile("output.txt", True, True)

success = 0

' This example requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.

set crypt = CreateObject("Chilkat.Crypt2")

' Use a digital certificate and private key from a PFX file (.pfx or .p12).
signingCertSubject = "Acme Inc"
pfxFilename = "/Users/chilkat/testData/pfx/acme.pfx"
pfxPassword = "test123"

set certStore = CreateObject("Chilkat.CertStore")
success = certStore.LoadPfxFile(pfxFilename,pfxPassword)
If (success <> 1) Then
    outFile.WriteLine(certStore.LastErrorText)
    WScript.Quit
End If

set jsonCN = CreateObject("Chilkat.JsonObject")
success = jsonCN.UpdateString("CN",signingCertSubject)

set cert = CreateObject("Chilkat.Cert")
success = certStore.FindCert(jsonCN,cert)
If (success = 0) Then
    outFile.WriteLine("Failed to find certificate by subject common name.")
    WScript.Quit
End If

' Tell the crypt component to use this cert.
success = crypt.SetSigningCert(cert)

' We can sign any type of file, creating a .p7m as output:
inFile = "/Users/chilkat/testData/pdf/sample.pdf"
outputFile = "/Users/chilkat/testData/p7m/sample.pdf.p7m"
success = crypt.CreateP7M(inFile,outputFile)
If (success = 0) Then
    outFile.WriteLine(crypt.LastErrorText)
    WScript.Quit
End If

' Verify and restore the original file:
success = crypt.SetVerifyCert(cert)

inFile = outputFile
outputFile = "/Users/chilkat/testData/pdf/restored.pdf"

success = crypt.VerifyP7M(inFile,outputFile)
If (success = 0) Then
    outFile.WriteLine(crypt.LastErrorText)
    WScript.Quit
End If

outFile.WriteLine("Success!")

outFile.Close