FoxPro Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Visual FoxPro 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
Upload
XML
XMP
Zip Compression
Self-Extractor

More Examples...
Email Object
POP3
SMTP
RSS
Atom
Byte Array
Service
PPMD
Deflate
DH Key Exchange
DSA
SSH Key
SSH
SSH Tunnel
SFTP

Unreleased...
Bzip2
LZW
Bz2
Icon

 

Non-Chilkat Links
Text and String Handling

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

LOCAL loCert
LOCAL loPkey
LOCAL lnSuccess
LOCAL loContainer
LOCAL lnNeedPrivateKeyAccess
LOCAL lnMachineKeyset
LOCAL lnIsKeyExchangePair
LOCAL lnBForSigning
LOCAL loCrypt

loCert = CreateObject('Chilkat.Cert')

*  Load the cert from a PEM file;
loCert.LoadFromFile("cert.pem")

loPkey = CreateObject('Chilkat.PrivateKey')

*  Load the private key from an RSA PEM file:
loPkey.LoadPemFile("pkey_rsa.pem")

*  If the "chilkat" key container does not already exist,
*  we'll create it and import the private key:
loContainer = CreateObject('Chilkat.KeyContainer')

lnNeedPrivateKeyAccess = 1

lnMachineKeyset = 0
IF (loContainer.OpenContainer("chilkat",lnNeedPrivateKeyAccess,lnMachineKeyset) = 0) THEN

    *  We need to create the key container and import
    *  the private key:
    lnSuccess = loContainer.CreateContainer("chilkat",lnMachineKeyset)
    IF (lnSuccess = 1) THEN

        lnIsKeyExchangePair = 0
        lnSuccess = loContainer.ImportPrivateKey(loPkey,lnIsKeyExchangePair)
        IF (lnSuccess = 0) THEN
            ? "Failed to import private key into key container"
            QUIT
        ENDIF

    ELSE
        ? "Failed to create key container"
        QUIT
    ENDIF

ENDIF

*  At this point, the key container contains the private key.
*  Link the certificate with the key container:

lnBForSigning = 1
lnSuccess = loCert.LinkPrivateKey("chilkat",lnMachineKeyset,lnBForSigning)
IF (lnSuccess = 0) THEN
    ? "Failed to link certificate with key container"
    QUIT
ENDIF

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

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

lnSuccess = loCrypt.UnlockComponent("30-day trial")
IF (lnSuccess <> 1) THEN
    =MESSAGEBOX("Crypt component unlock failed")
    QUIT
ENDIF

*  Tell the crypt component to use this cert.
loCrypt.SetSigningCert(loCert)

*  We can sign any type of file, creating a .p7s as output:
lnSuccess = loCrypt.CreateP7S("license.rtf","license.p7s")
IF (lnSuccess = 0) THEN
    =MESSAGEBOX(loCrypt.LastErrorText)
    RELEASE loCert
    QUIT
ENDIF

? loCrypt.LastErrorText

*  Verify and restore the original file:
loCrypt.SetVerifyCert(loCert)

lnSuccess = loCrypt.VerifyP7S("license.rtf","license.p7s")
IF (lnSuccess = 0) THEN
    =MESSAGEBOX(loCrypt.LastErrorText)
    RELEASE loCert
    QUIT
ENDIF

=MESSAGEBOX("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-2007 Chilkat Software, Inc. All Rights Reserved.

Mail Component · .NET Email Component · ASP Mail Component · XML Parser