PureBasic
PureBasic
RSA Sign with PKCS8 Encrypted Key
See more RSA Examples
Demonstrates how to load a private key from an encrypted PKCS8 file and create an 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::ckLoadPkcs8EncryptedFile(pkey,"privateKey.key","myPassword")
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
; Return the signature in 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", "sha256", "sha384", "sha512", and "md5".
hexSig.s = CkRsa::ckSignStringENC(rsa,strData,"sha-1")
Debug hexSig
CkPrivateKey::ckDispose(pkey)
CkRsa::ckDispose(rsa)
ProcedureReturn
EndProcedure