Sample code for 30+ languages & platforms
Tcl

RSASSA-PSS Algorithm with SHA256 Hashing

See more RSA Examples

RSA encrypt a SHA256 hash with OAEP padding.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

# 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 == 0} then {
    puts [CkPrivateKey_lastErrorText $privkey]
    delete_CkPrivateKey $privkey
    exit
}

set rsa [new_CkRsa]

# Use RSA-PSS by setting PkcsPadding = 0
CkRsa_put_PkcsPadding $rsa 0
# Use SHA256
CkRsa_put_OaepHash $rsa "SHA-256"

CkRsa_UsePrivateKey $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] == 0} then {
    puts [CkRsa_lastErrorText $rsa]
    delete_CkPrivateKey $privkey
    delete_CkRsa $rsa
    exit
}

puts "Signature: $sigStr"

delete_CkPrivateKey $privkey
delete_CkRsa $rsa