(Unicode C++) RSASSA-PSS Algorithm with SHA256 Hashing
RSA encrypt a SHA256 hash with OAEP padding.
#include <CkPrivateKeyW.h>
#include <CkRsaW.h>
void ChilkatSample(void)
{
// 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.)
bool success = privkey.LoadPemFile(L"somePath/myPrivateKey.pem");
if (success != true) {
wprintf(L"%s\n",privkey.lastErrorText());
return;
}
CkRsaW rsa;
// Use RSA-PSS by setting OaepPadding = true
rsa.put_OaepPadding(true);
// Use SHA256
rsa.put_OaepHash(L"SHA-256");
rsa.ImportPrivateKeyObj(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() != true) {
wprintf(L"%s\n",rsa.lastErrorText());
return;
}
wprintf(L"Signature: %s\n",sigStr);
}
|