(Tcl) RSA Sign using Base64 Private Key
Signs a string using a non-encrypted RSA private key in base64 encoding. Returns the RSA signature as a base64 string.
load ./chilkat.dll
# This requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
set privKey [new_CkPrivateKey]
set sbPem [new_CkStringBuilder]
CkStringBuilder_AppendLine $sbPem "-----BEGIN RSA PRIVATE KEY-----" 1
CkStringBuilder_AppendLine $sbPem "MIIC .... j5A==" 1
CkStringBuilder_AppendLine $sbPem "-----END RSA PRIVATE KEY-----" 1
set success [CkPrivateKey_LoadPem $privKey [CkStringBuilder_getAsString $sbPem]]
if {$success != 1} then {
puts [CkPrivateKey_lastErrorText $privKey]
delete_CkPrivateKey $privKey
delete_CkStringBuilder $sbPem
exit
}
set rsa [new_CkRsa]
set success [CkRsa_ImportPrivateKeyObj $rsa $privKey]
if {$success != 1} then {
puts [CkRsa_lastErrorText $rsa]
delete_CkPrivateKey $privKey
delete_CkStringBuilder $sbPem
delete_CkRsa $rsa
exit
}
CkRsa_put_EncodingMode $rsa "base64"
set strSigned [CkRsa_openSslSignStringENC $rsa "12345678"]
puts "$strSigned"
set strOriginal [CkRsa_openSslVerifyStringENC $rsa $strSigned]
puts "$strOriginal"
delete_CkPrivateKey $privKey
delete_CkStringBuilder $sbPem
delete_CkRsa $rsa
|