DataFlex
DataFlex
Add S/MIME Signature using PFX
See more MIME Examples
Add a digital signature to a MIME message using the certificate + private key from a PFX file.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoMime
Variant vCert
Handle hoCert
String sPfxFilepath
String sPfxPassword
String sTemp1
Move False To iSuccess
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Get Create (RefClass(cComChilkatMime)) To hoMime
If (Not(IsComObjectCreated(hoMime))) Begin
Send CreateComObject of hoMime
End
// Load a PFX file into a certificate object.
Get Create (RefClass(cComChilkatCert)) To hoCert
If (Not(IsComObjectCreated(hoCert))) Begin
Send CreateComObject of hoCert
End
Move "pfxFiles/something.pfx" To sPfxFilepath
Move "secret" To sPfxPassword
Get ComLoadPfxFile Of hoCert sPfxFilepath sPfxPassword To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoCert To sTemp1
Showln sTemp1
Procedure_Return
End
Get ComSetBodyFromPlainText Of hoMime "This is the plain-text MIME body." To iSuccess
Set ComCharset Of hoMime To "utf-8"
Set ComEncoding Of hoMime To "quoted-printable"
// Sign the MIME (adds a PKCS7 detached signature)
Get pvComObject of hoCert to vCert
Get ComAddDetachedSignature Of hoMime vCert To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoMime To sTemp1
Showln sTemp1
Procedure_Return
End
// Save the S/MIME to a file.
Get ComSaveMime Of hoMime "/temp/signedMime.txt" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoMime To sTemp1
Showln sTemp1
Procedure_Return
End
Showln "success!"
End_Procedure