(C++) 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.
#include <CkPrivateKey.h>
#include <CkStringBuilder.h>
#include <CkRsa.h>
void ChilkatSample(void)
{
// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkPrivateKey privKey;
bool success;
CkStringBuilder sbPem;
sbPem.AppendLine("-----BEGIN RSA PRIVATE KEY-----",true);
sbPem.AppendLine("MIIC .... j5A==",true);
sbPem.AppendLine("-----END RSA PRIVATE KEY-----",true);
success = privKey.LoadPem(sbPem.getAsString());
if (success != true) {
std::cout << privKey.lastErrorText() << "\r\n";
return;
}
CkRsa rsa;
success = rsa.ImportPrivateKeyObj(privKey);
if (success != true) {
std::cout << rsa.lastErrorText() << "\r\n";
return;
}
rsa.put_EncodingMode("base64");
const char *strSigned = rsa.openSslSignStringENC("12345678");
std::cout << strSigned << "\r\n";
const char *strOriginal = rsa.openSslVerifyStringENC(strSigned);
std::cout << strOriginal << "\r\n";
}
|