Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
Sign with .pfx to create .p7s, Verify with .cerPerl 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. 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.