Lianja
Lianja
RSA Signature with Certificate's Private Key from PFX
See more RSA Examples
Demonstrates how to use a certificate's private key from a PFX file to create an RSA signature.Chilkat Lianja Downloads
llSuccess = .F.
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// Create an instance of a certificate store object, load a PFX file,
// locate the certificate we need, and use it for signing.
// (a PFX file may contain more than one certificate.)
loCertStore = createobject("CkCertStore")
// The 1st argument is the filename, the 2nd arg is the
// PFX file's password:
llSuccess = loCertStore.LoadPfxFile("chilkat.pfx","test")
if (llSuccess = .F.) then
? loCertStore.LastErrorText
release loCertStore
return
endif
// Find the certificate by the subject common name:
loJsonCN = createobject("CkJsonObject")
loJsonCN.UpdateString("CN","cert common name")
loCert = createobject("CkCert")
llSuccess = loCertStore.FindCert(loJsonCN,loCert)
if (llSuccess = .F.) then
? loCertStore.LastErrorText
release loCertStore
release loJsonCN
release loCert
return
endif
loPrivKey = createobject("CkPrivateKey")
llSuccess = loCert.GetPrivateKey(loPrivKey)
if (llSuccess = .F.) then
? loCert.LastErrorText
release loCertStore
release loJsonCN
release loCert
release loPrivKey
return
endif
loRsa = createobject("CkRsa")
llSuccess = loRsa.UsePrivateKey(loPrivKey)
if (llSuccess = .F.) then
? loRsa.LastErrorText
release loCertStore
release loJsonCN
release loCert
release loPrivKey
release loRsa
return
endif
// Encode the signature as a hex string
loRsa.EncodingMode = "hex"
lcStrData = "This is the string to be signed."
// Sign the string using the sha-1 hash algorithm.
// Other valid choices are "sha-256", "md2" and "md5".
lcHexSig = loRsa.SignStringENC(lcStrData,"sha-1")
? lcHexSig
? "Success!"
release loCertStore
release loJsonCN
release loCert
release loPrivKey
release loRsa