C
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 C Downloads
#include <C_CkPrivateKey.h>
#include <C_CkPublicKey.h>
void ChilkatSample(void)
{
BOOL success;
HCkPrivateKey privKey;
HCkPublicKey pubKey;
BOOL bPreferPkcs1;
success = FALSE;
privKey = CkPrivateKey_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 = CkPrivateKey_LoadPemFile(privKey,"qa_data/pem/VP_Private.pem");
if (success == FALSE) {
printf("%s\n",CkPrivateKey_lastErrorText(privKey));
CkPrivateKey_Dispose(privKey);
return;
}
// Step 2: Get the public key object from the private key object.
pubKey = CkPublicKey_Create();
CkPrivateKey_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 = CkPublicKey_SavePemFile(pubKey,bPreferPkcs1,"qa_data/pem/VP_Public.pem");
if (CkPublicKey_getLastMethodSuccess(pubKey) == FALSE) {
printf("%s\n",CkPublicKey_lastErrorText(pubKey));
CkPrivateKey_Dispose(privKey);
CkPublicKey_Dispose(pubKey);
return;
}
printf("Extracted and saved public key from private key.\n");
CkPrivateKey_Dispose(privKey);
CkPublicKey_Dispose(pubKey);
}