DataFlex
DataFlex
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 DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Variant vPkey
Handle hoPkey
Handle hoRsa
Variant vBdFileData
Handle hoBdFileData
Variant vBdSig
Handle hoBdSig
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(cComChilkatPrivateKey)) To hoPkey
If (Not(IsComObjectCreated(hoPkey))) Begin
Send CreateComObject of hoPkey
End
// Load the private key from an PEM file:
Get ComLoadPemFile Of hoPkey "private.pem" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoPkey To sTemp1
Showln sTemp1
Procedure_Return
End
Get Create (RefClass(cComChilkatRsa)) To hoRsa
If (Not(IsComObjectCreated(hoRsa))) Begin
Send CreateComObject of hoRsa
End
// Import the private key into the RSA component:
Get pvComObject of hoPkey to vPkey
Get ComUsePrivateKey Of hoRsa vPkey 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
// Load the file to be 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
Get Create (RefClass(cComChilkatBinData)) To hoBdSig
If (Not(IsComObjectCreated(hoBdSig))) Begin
Send CreateComObject of hoBdSig
End
Get pvComObject of hoBdFileData to vBdFileData
Get pvComObject of hoBdSig to vBdSig
Get ComSignBd Of hoRsa vBdFileData "sha256" vBdSig To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoRsa To sTemp1
Showln sTemp1
Procedure_Return
End
// Save the binary signature to a file.
Get ComWriteFile Of hoBdSig "signature.sig" To iSuccess
If (iSuccess <> True) Begin
Showln "Failed to write signature.sig."
Procedure_Return
End
Showln "Success."
End_Procedure