(Unicode C++) RSASSA-PSS Algorithm with SHA256 Hashing
RSA encrypt a SHA256 hash with OAEP padding. Note: This example requires Chilkat v11.0.0 or greater.
#include <CkPrivateKeyW.h>
#include <CkRsaW.h>
void ChilkatSample(void)
{
bool success = false;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkPrivateKeyW privkey;
// Load the private key object from a PEM file.
// (To load from a PEM string, call LoadPem instead.)
success = privkey.LoadPemFile(L"somePath/myPrivateKey.pem");
if (success == false) {
wprintf(L"%s\n",privkey.lastErrorText());
return;
}
CkRsaW rsa;
// Use RSA-PSS by setting PkcsPadding = false
rsa.put_PkcsPadding(false);
// Use SHA256
rsa.put_OaepHash(L"SHA-256");
rsa.UsePrivateKey(privkey);
// Generate a base64 signature.
rsa.put_EncodingMode(L"base64");
const wchar_t *sigStr = rsa.signStringENC(L"String to be signed",L"SHA-256");
if (rsa.get_LastMethodSuccess() == false) {
wprintf(L"%s\n",rsa.lastErrorText());
return;
}
wprintf(L"Signature: %s\n",sigStr);
}
|