Lianja
Lianja
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 Lianja Downloads
llSuccess = .F.
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
loPubKey = createobject("CkPublicKey")
// Load the public key from an PEM file:
llSuccess = loPubKey.LoadFromFile("pubKey.pem")
if (llSuccess = .F.) then
? loPubKey.LastErrorText
release loPubKey
return
endif
// Load the data of the original file that was signed.
loBdFileData = createobject("CkBinData")
llSuccess = loBdFileData.LoadFile("in.dat")
// Load the signature.
loBdSig = createobject("CkBinData")
llSuccess = loBdSig.LoadFile("signature.sig")
loRsa = createobject("CkRsa")
// Import the public key into the RSA component:
llSuccess = loRsa.UsePublicKey(loPubKey)
if (llSuccess = .F.) then
? loRsa.LastErrorText
release loPubKey
release loBdFileData
release loBdSig
release loRsa
return
endif
// OpenSSL uses big-endian.
loRsa.LittleEndian = .F.
llSuccess = loRsa.VerifyBd(loBdFileData,"sha256",loBdSig)
if (llSuccess <> .T.) then
? loRsa.LastErrorText
? "The signature was invalid."
release loPubKey
release loBdFileData
release loBdSig
release loRsa
return
endif
? "The signature was verified."
release loPubKey
release loBdFileData
release loBdSig
release loRsa