(C++) RSASSA-PSS Algorithm with SHA256 Hashing
RSA encrypt a SHA256 hash with OAEP padding.
#include <CkPrivateKey.h>
#include <CkRsa.h>
void ChilkatSample(void)
{
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkPrivateKey privkey;
// Load the private key object from a PEM file.
// (To load from a PEM string, call LoadPem instead.)
bool success = privkey.LoadPemFile("somePath/myPrivateKey.pem");
if (success != true) {
std::cout << privkey.lastErrorText() << "\r\n";
return;
}
CkRsa rsa;
// Use RSA-PSS by setting OaepPadding = true
rsa.put_OaepPadding(true);
// Use SHA256
rsa.put_OaepHash("SHA-256");
rsa.ImportPrivateKeyObj(privkey);
// Generate a base64 signature.
rsa.put_EncodingMode("base64");
const char *sigStr = rsa.signStringENC("String to be signed","SHA-256");
if (rsa.get_LastMethodSuccess() != true) {
std::cout << rsa.lastErrorText() << "\r\n";
return;
}
std::cout << "Signature: " << sigStr << "\r\n";
}
|