Chilkat HOME ASP Visual Basic VB.NET C# C C++ MFC Delphi FoxPro Java Perl Python Ruby SQL Server VBScript
EDIFACT - S/MIME Create, Sign, and EncryptCreate an EDIFACT MIME message, signs it, and then encrypts. <?php $mime = new COM("Chilkat.Mime"); $success = $mime->UnlockComponent('Anything for 30-day trial.'); if ($success == false) { print $mime->lastErrorText() . "\n"; 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->ContentType = 'application/edifact'; $mime->Name = 'om080923.edi'; // We want the content-disposition to be: // Content-Disposition: attachment; filename="om080923.edi" $mime->Disposition = 'attachment'; $mime->Filename = 'om080923.edi'; // Content-Transfer-Encoding: quoted-printable $mime->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 = new COM("Chilkat.Cert"); $success = $cert->LoadByCommonName('Chilkat Software, Inc.'); if ($success == false) { print $cert->lastErrorText() . "\n"; exit; } $success = $mime->ConvertToSigned($cert); if ($success == false) { print $mime->lastErrorText() . "\n"; 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->ContentType = 'applicaton/pkcs7-mime'; // Display the signed MIME: print $mime->getMime() . "\n"; print '*********************************************' . "\n"; // Now encrypt it. $encryptCert = new COM("Chilkat.Cert"); $success = $encryptCert->LoadByCommonName('speedi speedi'); if ($success == false) { print $encryptCert->lastErrorText() . "\n"; exit; } $success = $mime->Encrypt($encryptCert); if ($success == false) { print $mime->lastErrorText() . "\n"; 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->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; } print 'Success!' . "\n"; ?> |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.