Sample code for 30+ languages & platforms
Tcl

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 Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

set pkey [new_CkPrivateKey]

# Load the private key from an RSA PEM file:
set success [CkPrivateKey_LoadPkcs8EncryptedFile $pkey "privateKey.key" "myPassword"]

set rsa [new_CkRsa]

# Import the private key into the RSA object:
set success [CkRsa_UsePrivateKey $rsa $pkey]
if {$success == 0} then {
    puts [CkRsa_lastErrorText $rsa]
    delete_CkPrivateKey $pkey
    delete_CkRsa $rsa
    exit
}

# Return the signature in hex
CkRsa_put_EncodingMode $rsa "hex"

set strData "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".
set hexSig [CkRsa_signStringENC $rsa $strData "sha-1"]

puts "$hexSig"

delete_CkPrivateKey $pkey
delete_CkRsa $rsa