PureBasic
PureBasic
Create PKCS1 RSA Signature with PEM Private Key
See more RSA Examples
Demonstrates how to load a private key from a PEM file and create a PKCS1 RSA digital signature.Chilkat PureBasic Downloads
IncludeFile "CkPrivateKey.pb"
IncludeFile "CkRsa.pb"
Procedure ChilkatExample()
success.i = 0
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
pkey.i = CkPrivateKey::ckCreate()
If pkey.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; Load the private key from an RSA PEM file:
success = CkPrivateKey::ckLoadPemFile(pkey,"pvkey2_rsa.pem")
If success = 0
Debug CkPrivateKey::ckLastErrorText(pkey)
CkPrivateKey::ckDispose(pkey)
ProcedureReturn
EndIf
rsa.i = CkRsa::ckCreate()
If rsa.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; Import the private key into the RSA object:
success = CkRsa::ckUsePrivateKey(rsa,pkey)
If success = 0
Debug CkRsa::ckLastErrorText(rsa)
CkPrivateKey::ckDispose(pkey)
CkRsa::ckDispose(rsa)
ProcedureReturn
EndIf
; Get the signature as hex.
CkRsa::setCkEncodingMode(rsa, "hex")
strData.s = "This is the string to be signed."
; Sign the string using the sha-1 hash algorithm.
; Other valid choices are "md2", "md5", "sha256",
; "sha384", and "sha512".
hexSig.s = CkRsa::ckSignStringENC(rsa,strData,"sha-1")
Debug hexSig
Debug "Success!"
CkPrivateKey::ckDispose(pkey)
CkRsa::ckDispose(rsa)
ProcedureReturn
EndProcedure