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 openssl dgst -sha256 -verify pubKey.pem -signature signature.sig in.datDemonstrates how to duplicate this OpenSSL command: openssl dgst -sha256 -verify pubKey.pem -signature signature.sig in.datThe in.dat file contains the original data that was signed, and can contain text or binary data of any type. The above OpenSSL command does the following:
use chilkat(); # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. $pubKey = chilkat::CkPublicKey->new(); # Load the public key from an PEM file: $success = $pubKey->LoadFromFile("pubKey.pem"); if ($success != 1) { print $pubKey->lastErrorText() . "\r\n"; exit; } # Load the data of the original file that was signed. $bdFileData = chilkat::CkBinData->new(); $success = $bdFileData->LoadFile("in.dat"); # Load the signature. $bdSig = chilkat::CkBinData->new(); $success = $bdSig->LoadFile("signature.sig"); $rsa = chilkat::CkRsa->new(); # Import the public key into the RSA component: $success = $rsa->ImportPublicKeyObj($pubKey); if ($success != 1) { print $rsa->lastErrorText() . "\r\n"; exit; } # OpenSSL uses big-endian. $rsa->put_LittleEndian(0); $success = $rsa->VerifyBd($bdFileData,"sha256",$bdSig); if ($success != 1) { print $rsa->lastErrorText() . "\r\n"; print "The signature was invalid." . "\r\n"; exit; } print "The signature was verified." . "\r\n"; |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.