Sample code for 30+ languages & platforms
Visual FoxPro

DKIM Signature using Windows Current User Certificate Store

See more DKIM / DomainKey Examples

This is a Windows-specific example to load a certificate from the Current User (registry-based) certificate store, and then use the certificate's associated private key for a DKIM signature.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loCert
LOCAL loPrivKey
LOCAL loDkim

lnSuccess = 0

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

loCert = CreateObject('Chilkat.Cert')

* The LoadByCommonName method searches the Windows Local Machine and Current User 
* registry-based certificate stores for a certificate having the common name specified. 
* If found, the certificate is loaded and ready for use.
lnSuccess = loCert.LoadByCommonName("My Certificate ABC")
IF (lnSuccess = 0) THEN
    ? loCert.LastErrorText
    RELEASE loCert
    CANCEL
ENDIF

* The certificate must have an associated private key installed, and it must be a
* private key that has been marked "exportable" when it was originally installed.
IF (NOT loCert.HasPrivateKey()) THEN
    ? "This certificate does not have a private key available."
    RELEASE loCert
    CANCEL
ENDIF

loPrivKey = CreateObject('Chilkat.PrivateKey')
lnSuccess = loCert.GetPrivateKey(loPrivKey)
IF (lnSuccess = 0) THEN
    ? loCert.LastErrorText
    RELEASE loCert
    RELEASE loPrivKey
    CANCEL
ENDIF

loDkim = CreateObject('Chilkat.Dkim')

* Load the private key into the DKIM object:
lnSuccess = loDkim.SetDkimPrivateKey(loPrivKey)
IF (lnSuccess = 0) THEN
    ? loDkim.LastErrorText
    RELEASE loCert
    RELEASE loPrivKey
    RELEASE loDkim
    CANCEL
ENDIF

* The private key has been loaded into the DKIM object.  See the other DKIM
* examples for guidance on how to create a DKIM signature...

RELEASE loCert
RELEASE loPrivKey
RELEASE loDkim