Unicode C
Unicode 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 Unicode C Downloads
#include <C_CkPemW.h>
void ChilkatSample(void)
{
BOOL success;
HCkPemW pem;
int i;
int numPublicKeys;
success = FALSE;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
success = FALSE;
pem = CkPemW_Create();
// Load a public key from a PEM file.
// (Assume the PEM contains at least one public key..)
success = CkPemW_LoadPemFile(pem,L"/Users/chilkat/testData/pem/myPublicKey.pem");
if (success != TRUE) {
wprintf(L"%s\n",CkPemW_lastErrorText(pem));
CkPemW_Dispose(pem);
return;
}
numPublicKeys = CkPemW_getNumPublicKeys(pem);
if (numPublicKeys == 0) {
wprintf(L"%s\n",(L"Error: Expected the PEM to contain public keys."));
CkPemW_Dispose(pem);
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:
wprintf(L"This is PKCS1 format:\n");
CkPemW_putPublicKeyFormat(pem,L"pkcs1");
wprintf(L"%s\n",CkPemW_toPem(pem));
// Now PKCS8 PEM format:
wprintf(L"This is PKCS8 format:\n");
CkPemW_putPublicKeyFormat(pem,L"pkcs8");
wprintf(L"%s\n",CkPemW_toPem(pem));
}
CkPemW_Dispose(pem);
}