Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Perl) Duplicate OpensSSL to Create Signature using Cert and Key FilesThis example duplicates the following: openssl smime –sign -in something.xml -out something.der -signer mycert.crt -inkey cert.key -outform der –nodetach Note: Although "smime" is the OpenSSL command, it's not actually producing S/MIME. The arguments "-outform der -binary" indicates that the output is binary DER (i.e. the PKCS7 binary signature). The input can be any type of file: XML, PDF, JPG, ... *anything*...
use chilkat(); # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. $crypt = chilkat::CkCrypt2->new(); # Load the cert and private key from separate files. $cert = chilkat::CkCert->new(); $success = $cert->LoadFromFile("myCert.crt"); if ($success != 1) { print $cert->lastErrorText() . "\r\n"; exit; } $bd = chilkat::CkBinData->new(); $success = $bd->LoadFile("cert.key"); $privkey = chilkat::CkPrivateKey->new(); # Load from any format private key. # If the file does not need a password, the 2nd arg is ignored. $success = $privkey->LoadAnyFormat($bd,"password_if_needed"); if ($success != 1) { print $privkey->lastErrorText() . "\r\n"; exit; } $success = $crypt->SetSigningCert2($cert,$privkey); if ($success != 1) { print $crypt->lastErrorText() . "\r\n"; exit; } # Create the opaque signature (PKCS7 binary DER that contains both the signature and original file data). $success = $crypt->CreateP7M("qa_data/infile.anything","qa_output/outfile.der"); if ($success != 1) { print $crypt->lastErrorText() . "\r\n"; exit; } print "Success." . "\r\n"; |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.