Lianja
Lianja
Duplicate openssl dgst -sha256 -sign private.pem -out sha256.sig in.dat
See more OpenSSL Examples
Demonstrates how to duplicate this OpenSSL command:openssl dgst -sha256 -sign private.pem -out sha256.sig in.datThe in.dat file can contain text or binary data of any type. The OpenSSL command does the following:
- Creates a SHA256 digest of the contents of the input file
- Signs the SHA256 digest using the private key.
Chilkat Lianja Downloads
llSuccess = .F.
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
loPkey = createobject("CkPrivateKey")
// Load the private key from an PEM file:
llSuccess = loPkey.LoadPemFile("private.pem")
if (llSuccess = .F.) then
? loPkey.LastErrorText
release loPkey
return
endif
loRsa = createobject("CkRsa")
// Import the private key into the RSA component:
llSuccess = loRsa.UsePrivateKey(loPkey)
if (llSuccess = .F.) then
? loRsa.LastErrorText
release loPkey
release loRsa
return
endif
// OpenSSL uses big-endian.
loRsa.LittleEndian = .F.
// Load the file to be signed.
loBdFileData = createobject("CkBinData")
llSuccess = loBdFileData.LoadFile("in.dat")
loBdSig = createobject("CkBinData")
llSuccess = loRsa.SignBd(loBdFileData,"sha256",loBdSig)
if (llSuccess = .F.) then
? loRsa.LastErrorText
release loPkey
release loRsa
release loBdFileData
release loBdSig
return
endif
// Save the binary signature to a file.
llSuccess = loBdSig.WriteFile("signature.sig")
if (llSuccess <> .T.) then
? "Failed to write signature.sig."
release loPkey
release loRsa
release loBdFileData
release loBdSig
return
endif
? "Success."
release loPkey
release loRsa
release loBdFileData
release loBdSig