Perl Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Perl Examples

Quick Start
Perl Unicode
Perl Byte Array
Perl Certs
Perl Email
Perl Encryption
Perl FTP
HTML-to-XML
Perl HTTP
Perl IMAP
Perl MHT
Perl MIME
Perl RSA
Perl S/MIME
Perl Signatures
Perl Socket
Perl Spider
Perl Tar
Perl Upload
Perl XML
Perl XMP
Perl Zip

More Examples...
String
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA
SSH Key
SSH
SSH Tunnel
SFTP

Unreleased...
Bzip2
LZW
Bz2
Icon

 

 

 

 

 

 

 

Sign with .pfx to create .p7s, Verify with .cer

Perl example to sign a file using a .pfx and creating a .p7s file as output. It then uses a .cer file to verify the signature.

Download Chilkat Perl Module

use chilkat;

$crypt = new chilkat::CkCrypt2();

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

$certStore = new chilkat::CkCertStore();
$success = $certStore->LoadPfxFile("chilkat.pfx","myPfxPassword");
if ($success != 1) {
    print $certStore->lastErrorText() . "\n";
    exit;
}

$cert = $certStore->FindCertBySubjectCN("Chilkat Software, Inc.");
if ($cert eq null ) {
    print "Failed to find certificate" . "\n";
    exit;
}

#  We can explicitly choose hash/encryption algorithms using a CSP.
$csp = new chilkat::CkCSP();
$csp->SetProviderMicrosoftEnhanced();
$csp->SetHashAlgorithm("sha-1");

#  Tell the crypt component to use this cert and this CSP.
$crypt->SetSigningCert($cert);
$crypt->SetCSP($csp);

#  We can sign any type of file, creating a .p7s as output:
$success = $crypt->CreateP7S("hamlet.xml","hamlet.p7s");
if ($success == 1) {
    print "Signature created." . "\n";
}
else {
    print $crypt->lastErrorText() . "\n";
}

#  Verify and restore the original file:
#  Use a cert from a .cer file (which only contains the public key)
$cert2 = new chilkat::CkCert();
$success = $cert2->LoadFromFile("chilkat.cer");
if ($success != 1) {
    print $cert2->lastErrorText() . "\n";
    exit;
}

$crypt->SetVerifyCert($cert2);

$success = $crypt->VerifyP7S("hamlet.xml","hamlet.p7s");
if ($success == 1) {
    print "Signature verified." . "\n";
}
else {
    print $crypt->lastErrorText() . "\n";
}


 

Need a specific example? Send a request to support@chilkatsoft.com

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