Visual Basic Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

VB Examples

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

More Examples...
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor


VB Strings
VB Byte Array

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 cert As New ChilkatCert

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

Dim pkey As New PrivateKey

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

Dim success As Long

'  If the "chilkat" key container does not already exist,
'  we'll create it and import the private key:
Dim container As New KeyContainer
Dim needPrivateKeyAccess As Long
needPrivateKeyAccess = 1
Dim machineKeyset As Long
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
        Dim isKeyExchangePair As Long
        isKeyExchangePair = 0
        success = container.ImportPrivateKey(pkey,isKeyExchangePair)
        If (success = 0) Then
            Text1.Text = Text1.Text & "Failed to import private key into key container" & vbCrLf
            Exit Sub
        End If

    Else
        Text1.Text = Text1.Text & "Failed to create key container" & vbCrLf
        Exit Sub
    End If

End If

'  At this point, the key container contains the private key.
'  Link the certificate with the key container:
Dim bForSigning As Long
bForSigning = 1
success = cert.LinkPrivateKey("chilkat",machineKeyset,bForSigning)
If (success = 0) Then
    Text1.Text = Text1.Text & "Failed to link certificate with key container" & vbCrLf
    Exit Sub
End If

'  Use Chilkat Crypt (a non-freeware component) to create
'  a digital signature using the certificate w/ private key:
Dim crypt As New ChilkatCrypt2

'  Any string argument automatically begins the 30-day trial.

success = crypt.UnlockComponent("30-day trial")
If (success <> 1) Then
    MsgBox "Crypt component unlock failed"
    Exit Sub
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

    Exit Sub
End If

Text1.Text = Text1.Text & crypt.LastErrorText & vbCrLf

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

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

    Exit Sub
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.

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

© 2000-2008 Chilkat Software, Inc. All Rights Reserved.