(Perl) RSA Sign with PKCS8 Encrypted Key
Demonstrates how to load a private key from an encrypted PKCS8 file and create an RSA digital signature.
use chilkat();
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$pkey = chilkat::CkPrivateKey->new();
# Load the private key from an RSA PEM file:
$success = $pkey->LoadPkcs8EncryptedFile("privateKey.key","myPassword");
# Get the private key in XML format:
$pkeyXml = $pkey->getXml();
$rsa = chilkat::CkRsa->new();
# Import the private key into the RSA object:
$success = $rsa->ImportPrivateKey($pkeyXml);
if ($success != 1) {
print $rsa->lastErrorText() . "\r\n";
exit;
}
# Return the signature in hex
$rsa->put_EncodingMode("hex");
$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".
$hexSig = $rsa->signStringENC($strData,"sha-1");
print $hexSig . "\r\n";
|