(Tcl) RSASSA-PSS Algorithm with SHA256 Hashing
RSA encrypt a SHA256 hash with OAEP padding.
load ./chilkat.dll
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
set privkey [new_CkPrivateKey]
# Load the private key object from a PEM file.
# (To load from a PEM string, call LoadPem instead.)
set success [CkPrivateKey_LoadPemFile $privkey "somePath/myPrivateKey.pem"]
if {$success != 1} then {
puts [CkPrivateKey_lastErrorText $privkey]
delete_CkPrivateKey $privkey
exit
}
set rsa [new_CkRsa]
# Use RSA-PSS by setting OaepPadding = 1
CkRsa_put_OaepPadding $rsa 1
# Use SHA256
CkRsa_put_OaepHash $rsa "SHA-256"
CkRsa_ImportPrivateKeyObj $rsa $privkey
# Generate a base64 signature.
CkRsa_put_EncodingMode $rsa "base64"
set sigStr [CkRsa_signStringENC $rsa "String to be signed" "SHA-256"]
if {[CkRsa_get_LastMethodSuccess $rsa] != 1} then {
puts [CkRsa_lastErrorText $rsa]
delete_CkPrivateKey $privkey
delete_CkRsa $rsa
exit
}
puts "Signature: $sigStr"
delete_CkPrivateKey $privkey
delete_CkRsa $rsa
|