DataFlex
DataFlex
Duplicate openssl dgst -sha256 -verify pubKey.pem -signature signature.sig in.dat
See more OpenSSL Examples
Demonstrates 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:
- Creates a SHA256 digest of the contents of the input file.
- Verifies the SHA256 digest using the public key.
Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Variant vPubKey
Handle hoPubKey
Variant vBdFileData
Handle hoBdFileData
Variant vBdSig
Handle hoBdSig
Handle hoRsa
String sTemp1
Move False To iSuccess
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Get Create (RefClass(cComChilkatPublicKey)) To hoPubKey
If (Not(IsComObjectCreated(hoPubKey))) Begin
Send CreateComObject of hoPubKey
End
// Load the public key from an PEM file:
Get ComLoadFromFile Of hoPubKey "pubKey.pem" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoPubKey To sTemp1
Showln sTemp1
Procedure_Return
End
// Load the data of the original file that was signed.
Get Create (RefClass(cComChilkatBinData)) To hoBdFileData
If (Not(IsComObjectCreated(hoBdFileData))) Begin
Send CreateComObject of hoBdFileData
End
Get ComLoadFile Of hoBdFileData "in.dat" To iSuccess
// Load the signature.
Get Create (RefClass(cComChilkatBinData)) To hoBdSig
If (Not(IsComObjectCreated(hoBdSig))) Begin
Send CreateComObject of hoBdSig
End
Get ComLoadFile Of hoBdSig "signature.sig" To iSuccess
Get Create (RefClass(cComChilkatRsa)) To hoRsa
If (Not(IsComObjectCreated(hoRsa))) Begin
Send CreateComObject of hoRsa
End
// Import the public key into the RSA component:
Get pvComObject of hoPubKey to vPubKey
Get ComUsePublicKey Of hoRsa vPubKey To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoRsa To sTemp1
Showln sTemp1
Procedure_Return
End
// OpenSSL uses big-endian.
Set ComLittleEndian Of hoRsa To False
Get pvComObject of hoBdFileData to vBdFileData
Get pvComObject of hoBdSig to vBdSig
Get ComVerifyBd Of hoRsa vBdFileData "sha256" vBdSig To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoRsa To sTemp1
Showln sTemp1
Showln "The signature was invalid."
Procedure_Return
End
Showln "The signature was verified."
End_Procedure