VBScript Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

VBScript Examples

Bounced Mail
Character Encoding
Digital Certificates
Digital Signatures
Email
FTP
HTML-to-XML
HTTP
IMAP
Encryption
MHT / HTML Email
PFX
RSA Encryption
S/MIME
Socket
Spider
String
Tar
Upload
XML
XMP
Zip Compression
Self-Extractor

More Examples...
Email Object
POP3
SMTP
Byte Array
RSS
Atom

Unreleased...
Service
PPMD
Deflate
Bzip2
LZW
Bz2
DH Key Exchange
DSA
Icon

 

 

 

 

 

 

 

Use Certificate and Private Key PEM Files to Create a Digital Signature

Demonstrates how to load a digital certificate from a PEM file, load it's corresponding private key from a PEM file, save the private key to a key container (if necessary), link the certificate to the key container, and use it to create a digital signature.

Download Chilkat Crypt ActiveX

Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set outFile = fso.CreateTextFile("output.txt", True)

set cert = CreateObject("Chilkat.Cert")

'  Load the cert from a PEM file;
cert.LoadFromFile "cert.pem"

set pkey = CreateObject("Chilkat.PrivateKey")

'  Load the private key from an RSA PEM file:
pkey.LoadPemFile "pkey_rsa.pem"

'  If the "chilkat" key container does not already exist,
'  we'll create it and import the private key:
set container = CreateObject("Chilkat.KeyContainer")
needPrivateKeyAccess = 1
machineKeyset = 0
If (container.OpenContainer("chilkat",needPrivateKeyAccess,machineKeyset) = 0) Then

    '  We need to create the key container and import
    '  the private key:
    success = container.CreateContainer("chilkat",machineKeyset)
    If (success = 1) Then
        isKeyExchangePair = 0
        success = container.ImportPrivateKey(pkey,isKeyExchangePair)
        If (success = 0) Then
            outFile.WriteLine("Failed to import private key into key container")
            WScript.Quit
        End If

    Else
        outFile.WriteLine("Failed to create key container")
        WScript.Quit
    End If

End If

'  At this point, the key container contains the private key.
'  Link the certificate with the key container:
bForSigning = 1
success = cert.LinkPrivateKey("chilkat",machineKeyset,bForSigning)
If (success = 0) Then
    outFile.WriteLine("Failed to link certificate with key container")
    WScript.Quit
End If

'  Use Chilkat Crypt (a non-freeware component) to create
'  a digital signature using the certificate w/ private key:
set crypt = CreateObject("Chilkat.Crypt2")

'  Any string argument automatically begins the 30-day trial.
success = crypt.UnlockComponent("30-day trial")
If (success <> 1) Then
    MsgBox "Crypt component unlock failed"
    WScript.Quit
End If

'  Tell the crypt component to use this cert.
crypt.SetSigningCert cert

'  We can sign any type of file, creating a .p7s as output:
success = crypt.CreateP7S("license.rtf","license.p7s")
If (success = 0) Then
    MsgBox crypt.LastErrorText

    WScript.Quit
End If

outFile.WriteLine(crypt.LastErrorText)

'  Verify and restore the original file:
crypt.SetVerifyCert cert

success = crypt.VerifyP7S("license.rtf","license.p7s")
If (success = 0) Then
    MsgBox crypt.LastErrorText

    WScript.Quit
End If

MsgBox "Success!"

'  The Chilkat Certificate, Certificate Store, Private Key,
'  Public Key, and Key Container classes / objects are freeware.

'  They are used by and included with the Chilkat Email,
'  Crypt, S/MIME, and other commercial Chilkat components.

outFile.Close

Need a specific example? Send a request to support@chilkatsoft.com

© 2003-2007 Chilkat Software, Inc. All Rights Reserved.

Mail Component · XML Parser