Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
|
EDIFACT - S/MIME Create, Sign, and EncryptCreate an EDIFACT MIME message, signs it, and then encrypts.
import sys import chilkat mime = chilkat.CkMime() success = mime.UnlockComponent("Anything for 30-day trial.") if (success == False): print mime.lastErrorText() sys.exit() # Assuming you have an EDIFACT document loaded into # a string variable, set the MIME body with it: ediBody = "UNB+IATB:1+6XPPC+LHPPC+940101:0950+1' ..." mime.SetBodyFromPlainText(ediBody) # The call to SetBodyFromPlainText automatically set the # content-type to "text/plain". # However, we want: application/edifact; name=om080923.edi mime.put_ContentType("application/edifact") mime.put_Name("om080923.edi") # We want the content-disposition to be: # Content-Disposition: attachment; filename="om080923.edi" mime.put_Disposition("attachment") mime.put_Filename("om080923.edi") # Content-Transfer-Encoding: quoted-printable mime.put_Encoding("quoted-printable") # Note: MIME header fields are case insensitive. # Add a few other header fields: mime.AddHeaderField("Message-ID","<CHILKAT-MID-83cf2fbf-10cb-4322-ad79-4c1097fd56f2@Matt>") mime.AddHeaderField("MIME-VERSION","1.0") # Display the complete non-signed, non-encrypted MIME: print mime.getMime() print "*********************************************" # Sign the MIME using an opaque signature. # (but first load a certificate) cert = chilkat.CkCert() success = cert.LoadByCommonName("Chilkat Software, Inc.") if (success == False): print cert.lastErrorText() sys.exit() success = mime.ConvertToSigned(cert) if (success == False): print mime.lastErrorText() sys.exit() # Perhaps the receiver is picky and wants the content-type to be "application/pkcs7-mime" # instead of "application/x-pkcs7-mime". In that case, simply set the content-type: mime.put_ContentType("applicaton/pkcs7-mime") # Display the signed MIME: print mime.getMime() print "*********************************************" # Now encrypt it. encryptCert = chilkat.CkCert() success = encryptCert.LoadByCommonName("speedi speedi") if (success == False): print encryptCert.lastErrorText() sys.exit() success = mime.Encrypt(encryptCert) if (success == False): print mime.lastErrorText() sys.exit() # Again, if receiver is picky and wants the content-type to be "application/pkcs7-mime" # instead of "application/x-pkcs7-mime". In that case, simply set the content-type: mime.put_ContentType("applicaton/pkcs7-mime") # Display the signed/encrypted MIME print mime.getMime() print "*********************************************" # Save the MIME to a file: success = mime.SaveMime("edifact_smime.txt") if (success == False): print mime.lastErrorText() sys.exit() print "Success!" |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.