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. Downloads for Windows/Linux and Install Instructions require 'rubygems' require 'chilkat' mime = Chilkat::CkMime.new() success = mime.UnlockComponent("Anything for 30-day trial.") if (success == false) print mime.lastErrorText() + "\n" exit end # 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() + "\n"; print "*********************************************" + "\n"; # Sign the MIME using an opaque signature. # (but first load a certificate) cert = Chilkat::CkCert.new() success = cert.LoadByCommonName("Chilkat Software, Inc.") if (success == false) print cert.lastErrorText() + "\n" exit end success = mime.ConvertToSigned(cert) if (success == false) print mime.lastErrorText() + "\n" exit end # 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() + "\n"; print "*********************************************" + "\n"; # Now encrypt it. encryptCert = Chilkat::CkCert.new() success = encryptCert.LoadByCommonName("speedi speedi") if (success == false) print encryptCert.lastErrorText() + "\n" exit end success = mime.Encrypt(encryptCert) if (success == false) print mime.lastErrorText() + "\n" exit end # 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() + "\n"; print "*********************************************" + "\n"; # Save the MIME to a file: success = mime.SaveMime("edifact_smime.txt") if (success == false) print mime.lastErrorText() + "\n" exit end print "Success!" + "\n" |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.