FoxPro Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

Visual FoxPro Examples

Bounced Mail
Bz2
Character Encoding
CSV
Digital Certificates
Digital Signatures
Email
Email Object
FTP
HTML Conversion
HTTP
IMAP
Encryption
MHT / HTML Email
POP3
RSA
S/MIME
Socket
Spider
SFTP
SMTP
SSH
SSH Key
SSH Tunnel
String
Tar
Upload
XML
XMP
Zip Compression
Self-Extractor

More Examples...
Amazon S3
DKIM / DomainKey
NTLM
RSS
Atom
Byte Array
Service
PPMD
Deflate
DH Key Exchange
DSA
FileAccess
Bzip2
LZW

 

Non-Chilkat Links
Text and String Handling

RSA Signature/Verify with .key and .cer

Demonstrates how to use a .key file (private key) and digital certificate (.cer, public key) to create and verify an RSA signature.

Download 32-bit Chilkat RSA ActiveX (.msi)

Download All 32-bit Chilkat ActiveX Components (.zip)

Download All 64-bit Chilkat ActiveX Components (.zip)

LOCAL loPrivKey
LOCAL lnSuccess
LOCAL lcPrivKeyXml
LOCAL loRsa
LOCAL lcStrData
LOCAL lcHexSig
LOCAL loCert
LOCAL loPubKey
LOCAL loRsa2

loPrivKey = CreateObject('Chilkat.PrivateKey')

*  Load the private key from an RSA .key file:
lnSuccess = loPrivKey.LoadPemFile("privateKey.key")
IF (lnSuccess <> 1) THEN
    =MESSAGEBOX(loPrivKey.LastErrorText)
    QUIT
ENDIF

*  Get the private key in XML format:
lcPrivKeyXml = loPrivKey.GetXml()

loRsa = CreateObject('Chilkat.Rsa')

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

lnSuccess = loRsa.UnlockComponent("30-day trial")
IF (lnSuccess <> 1) THEN
    =MESSAGEBOX(loRsa.LastErrorText)
    QUIT
ENDIF

*  Import the private key into the RSA component:
lnSuccess = loRsa.ImportPrivateKey(lcPrivKeyXml)
IF (lnSuccess <> 1) THEN
    =MESSAGEBOX(loRsa.LastErrorText)
    QUIT
ENDIF

*  Create the signature as a hex string:
loRsa.EncodingMode = "hex"

*  If some other non-Chilkat application or web service is going to be verifying
*  the signature, it is important to match the byte-ordering.
*  The LittleEndian property may be set to 1
*  for little-endian byte ordering,
*  or 0  for big-endian byte ordering.
*  Microsoft apps typically use little-endian, while
*  OpenSSL and other services (such as Amazon CloudFront)
*  use big-endian.
loRsa.LittleEndian = 0

lcStrData = "This is the string to be signed."

*  Sign the string using the sha-1 hash algorithm.
*  Other valid choices are "md2", "sha256", "sha384",
*  "sha512", and "md5".

lcHexSig = loRsa.SignStringENC(lcStrData,"sha-1")

? lcHexSig

*  Load a digital certificate from a .cer file:
loCert = CreateObject('Chilkat.Cert')

lnSuccess = loCert.LoadFromFile("myCert.cer")
IF (lnSuccess <> 1) THEN
    =MESSAGEBOX(loCert.LastErrorText)
    QUIT
ENDIF

loPubKey = loCert.ExportPublicKey()

*  Now verify using a separate instance of the RSA object:
loRsa2 = CreateObject('Chilkat.Rsa')

*  Import the public key into the RSA object:
lnSuccess = loRsa2.ImportPublicKey(loPubKey.GetXml())
IF (lnSuccess <> 1) THEN
    =MESSAGEBOX(loRsa2.LastErrorText)
    QUIT
ENDIF

RELEASE loPubKey

*  The signature is a hex string, so make sure the EncodingMode is correct:
loRsa2.EncodingMode = "hex"

*  Verify the signature:
lnSuccess = loRsa2.VerifyStringENC(lcStrData,"sha-1",lcHexSig)
IF (lnSuccess <> 1) THEN
    =MESSAGEBOX(loRsa2.LastErrorText)
    QUIT
ENDIF

=MESSAGEBOX("Success.")

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

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