Unicode C
Unicode C
Convert RSA Private Key to Public Key
See more RSA Examples
Demonstrates how to get a public RSA key from a private RSA key.Chilkat Unicode C Downloads
#include <C_CkPrivateKeyW.h>
#include <C_CkPublicKeyW.h>
void ChilkatSample(void)
{
BOOL success;
HCkPrivateKeyW privKey;
HCkPublicKeyW pubKey;
BOOL bPreferPkcs1;
success = FALSE;
privKey = CkPrivateKeyW_Create();
// Step 1: Load the private key from a source.
// (Chilkat can load private keys from all types of formats, and from in-memory bytes or encoded strings.
// see the online reference documentation for more options.)
success = CkPrivateKeyW_LoadPemFile(privKey,L"qa_data/pem/VP_Private.pem");
if (success == FALSE) {
wprintf(L"%s\n",CkPrivateKeyW_lastErrorText(privKey));
CkPrivateKeyW_Dispose(privKey);
return;
}
// Step 2: Get the public key object from the private key object.
pubKey = CkPublicKeyW_Create();
CkPrivateKeyW_ToPublicKey(privKey,pubKey);
// Step 3: Save the public key in a desired format.
// (Chilkat can load or save public and private keys in many different formats. See
// the online reference documentation for more options.)
// Saves to a PKCS8 PEM file.
bPreferPkcs1 = FALSE;
success = CkPublicKeyW_SavePemFile(pubKey,bPreferPkcs1,L"qa_data/pem/VP_Public.pem");
if (CkPublicKeyW_getLastMethodSuccess(pubKey) == FALSE) {
wprintf(L"%s\n",CkPublicKeyW_lastErrorText(pubKey));
CkPrivateKeyW_Dispose(privKey);
CkPublicKeyW_Dispose(pubKey);
return;
}
wprintf(L"Extracted and saved public key from private key.\n");
CkPrivateKeyW_Dispose(privKey);
CkPublicKeyW_Dispose(pubKey);
}