C++
C++
Write PKCS1 or PKCS8 Public Key PEM
See more PEM Examples
Demonstrates how to write either PKCS1 or PKCS8 format PEM files. PKCS1 public keys have this PEM format:-----BEGIN RSA PUBLIC KEY----- BASE64 ENCODED DATA -----END RSA PUBLIC KEY-----PKCS8 public keys have this PEM format:
-----BEGIN PUBLIC KEY----- BASE64 ENCODED DATA -----END PUBLIC KEY-----
Chilkat C++ Downloads
#include <CkPem.h>
void ChilkatSample(void)
{
bool success = false;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
success = false;
CkPem pem;
// Load a public key from a PEM file.
// (Assume the PEM contains at least one public key..)
success = pem.LoadPemFile("/Users/chilkat/testData/pem/myPublicKey.pem");
if (success != true) {
std::cout << pem.lastErrorText() << "\r\n";
return;
}
int i;
int numPublicKeys = pem.get_NumPublicKeys();
if (numPublicKeys == 0) {
std::cout << (("Error: Expected the PEM to contain public keys.")) << "\r\n";
return;
}
// Get each public key as PEM, first in PKCS1 format, then in PKCS8.
for (i = 1; i <= numPublicKeys; i++) {
// First output to PKCS1 PEM format:
std::cout << "This is PKCS1 format:" << "\r\n";
pem.put_PublicKeyFormat("pkcs1");
std::cout << pem.toPem() << "\r\n";
// Now PKCS8 PEM format:
std::cout << "This is PKCS8 format:" << "\r\n";
pem.put_PublicKeyFormat("pkcs8");
std::cout << pem.toPem() << "\r\n";
}
}