Perl Examples

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

Perl Examples

Quick Start
Unicode
Byte Array
Bz2
Certificates
CSV
Email
Encryption
FTP
HTML Conversion
HTTP
IMAP
MHT
MIME
POP3
RSA
S/MIME
Signatures
SMTP
Socket / SSL
Spider
SFTP
SSH Key
SSH
SSH Tunnel
Tar
HTTP Upload
XML
XMP
Zip

More Examples...
String
Amazon S3
Email Object
DKIM / DomainKey
NTLM
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA
Bzip2
LZW

 

 

 

 

 

 

 

Create S/MIME with Opaque Digital Signature

Perl example to create a simple S/MIME message with an attached (opaque) digital signature.

 Chilkat Perl Module Downloads for Windows, Linux, and MAC OS X

use chilkat();

$mime = new chilkat::CkMime();

#  Any string argument automatically begins the 30-day trial.
$success = $mime->UnlockComponent("30-day trial");
if ($success != 1) {
    print "MIME component unlock failed" . "\n";
    exit;
}

#  Find our digital certificate from the Current User certificate store.
$ccs = new chilkat::CkCreateCS();

$certStore = $ccs->OpenCurrentUserStore();

$cert = $certStore->FindCertBySubjectCN("Chilkat Software, Inc.");

if ($cert eq null ) {
    print $cert->lastErrorText() . "\n";
    exit;
}

#  Our MIME object is currently empty.  Add some header fields
#  and a body:
$mime->AddHeaderField("subject","this is a test");
$mime->AddHeaderField("test123","this is a test 123");
$mime->put_ContentType("text/plain");
$mime->put_Charset("iso-8859-1");
$mime->SetBodyFromPlainText("This is the body");

print "Original MIME message:" . "\r\n";
print $mime->getMime() . "\r\n";

#  The original MIME looks like this:
#  ----------------------------------
#  subject: this is a test
#  test123: this is a test 123
#  content-type: text/plain;
#  	 charset="iso-8859-1"
# 
#  This is the body
#  ----------------------------------

#  Convert the MIME to a signed message.  The original MIME
#  is embedded in
$success = $mime->ConvertToSigned($cert);
if ($success != 1) {
    print $mime->lastErrorText() . "\n";
    exit;
}

print "----------------------------------" . "\r\n";
print "Signed Message:" . "\r\n";
print $mime->getMime() . "\r\n";

print "Success!" . "\n";

#  The resulting S/MIME looks like this:
#  --------------------------------
#  subject: this is a test
#  test123: this is a test 123
#  content-disposition: attachment;
#  	 filename="smime.p7m"
#  content-transfer-encoding: base64
#  content-type: application/x-pkcs7-mime;
#  	name="smime.p7m";smime-type=signed-data
# 
#  MIIGgAYJKoZIhvcNAQcCoIIGcTCCBm0CAQExCzAJBgUrDgMCGgUAMIGKBgkqhkiG9w0BBwGg
#  fQR7c3ViamVjdDogdGhpcyBpcyBhIHRlc3QNCnRlc3QxMjM6IHRoaXMgaXMgYSB0ZXN0IDEy
#  Mw0KY29udGVudC10eXBlOiB0ZXh0L3BsYWluOw0KCSBjaGFyc2V0PSJpc28tODg1OS0xIg0K
#  DQpUaGlzIGlzIHRoZSBib2R5oIID2TCCA9UwggM+oAMCAQICEHii5NwCYuzOsaLXvSTV15Iw
#  DQYJKoZIhvcNAQEFBQAwVTELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0
#  aW5nIChQdHkpIEx0ZC4xHzAdBgNVBAMTFlRoYXd0ZSBDb2RlIFNpZ25pbmcgQ0EwHhcNMDcw
#  MTE1MDAwMDAwWhcNMDgwMTE1MjM1OTU5WjCBnTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCEls
#  bGlub2lzMRAwDgYDVQQHEwdXaGVhdG9uMR8wHQYDVQQKExZDaGlsa2F0IFNvZnR3YXJlLCBJ
#  bmMuMScwJQYDVQQLEx5TZWN1cmUgQXBwbGljYXRpb24gRGV2ZWxvcG1lbnQxHzAdBgNVBAMT
#  FkNoaWxrYXQgU29mdHdhcmUsIEluYy4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
#  AQDBHa3pv8qfhXM0I6WPVgaQfENg9Wd9k0h47uGa62t4rqSv3jGb1GVCf6+Q3W5EyG9Js512
#  z4Hbmj4DIB64GYuy7Gg1EIL0BRtrfuljx4vTgBpMQCbfnS1+ccZPjiOhJ0U+hbkP3VMNqt7q
#  rlRppxx0S1dTj8saqH6ccH0h1+3RL+sik/Y8r1MDBDlXx2Uy4FBAD4FQKDkxj2ipmC2eRfs7
#  o4lKTwxPSVSFWDsQCB72JTHsS7ihYrzx+Q6jzWmoeiBOkZ/LieJtaDvZeQ+TXfmV4zD8mZ7f
#  urs5H/Obodx4WXLI7RYvV9jHT0+lhuPWVg29WjyffyiFPxP/uHc3gZSVAgMBAAGjgdgwgdUw
#  DAYDVR0TAQH/BAIwADA+BgNVHR8ENzA1MDOgMaAvhi1odHRwOi8vY3JsLnRoYXd0ZS5jb20v
#  VGhhd3RlQ29kZVNpZ25pbmdDQS5jcmwwHwYDVR0lBBgwFgYIKwYBBQUHAwMGCisGAQQBgjcC
#  ARYwHQYDVR0EBBYwFDAOMAwGCisGAQQBgjcCARYDAgeAMDIGCCsGAQUFBwEBBCYwJDAiBggr
#  BgEFBQcwAYYWaHR0cDovL29jc3AudGhhd3RlLmNvbTARBglghkgBhvhCAQEEBAMCBBAwDQYJ
#  KoZIhvcNAQEFBQADgYEABQxzFRt6jkdMMoxrEwUXLeID2L+R7hUsXD3vIQbetotMdlSVHBXH
#  AsYuZbzV1j/ricQMSAqLch+6iF8DRrc3ct3vPAvV/+F0balCKAty8zKY/2OPoMRDE6zTeIAM
#  WC4ymqRvv2FttRHOwpfum9a42NBUaKjBO6jUle5Juyppbu8xggHvMIIB6wIBATBpMFUxCzAJ
#  BgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMR8wHQYD
#  VQQDExZUaGF3dGUgQ29kZSBTaWduaW5nIENBAhB4ouTcAmLszrGi170k1deSMAkGBSsOAwIa
#  BQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0wNzA0MDQx
#  OTU1NDVaMCMGCSqGSIb3DQEJBDEWBBSXCN4QT4iPlNbNV3X7AzYezFL9oDANBgkqhkiG9w0B
#  AQEFAASCAQBqnhXsUVYMz2y92Qg0ciB1wVxP6DC8cgTPPIWfSFAcIR6Irk4BqzS5LarDZlfB
#  k85poqggff/m5kuyJfUNehTC0VnhAasCX0VjU+Bsr1k0c7gejges1EiuNJJo7q4Usp3+c5k9
#  ZSEIM95hp2rDKyzZdyvSAbFGI029RII0SNyU6g6rX3/FZhJqc+DbhLHax3RMERFqLvdmmREz
#  zIcRbt5y3VR3+bjD0tnvP5ynlg3rT4ubKWS/OormEPc20FwTHb8nCep3ZyGrUKusD7AWV3qv
#  0+IKpAWNsZ7CgDjcR+j9oz7Q8Y/17FgHflEypf3xR5TWBY/tCwx02GT7a9vpXbHT
# 
# 

 

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