Programming Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

C Examples

Bounced Mail
Bz2
Certificates/Keys
Charset
CSV
DKIM / DomainKey
Diffie-Hellman
DSA
Email Object
Encryption
FileAccess
FTP
HTML Conversion
HTTP
IMAP
MHT / HTML Email
MIME
NTLM
POP3
RSA
SMTP
Socket
Spider
SSH Key
SSH
SSH Tunnel
SFTP
Tar
Upload
XML
Zip
Amazon S3

 

 

 

 

 

 

 

 

Generate RSA Public/Private Key Pair and Export to PEM

C example code showing how to generate an RSA public/private key pair and export to PEM files.

Downloads:

MS Windows Visual C/C++ Libraries
Linux/CentOS C/C++ Libraries
MAC OS X C/C++ Libraries
Solaris C/C++ Libraries
C++ Builder Libraries
#include <C_CkRsa.h>
#include <C_CkPrivateKey.h>
#include <C_CkPublicKey.h>

void ChilkatSample(void)
    {
    HCkRsa rsa;
    BOOL success;
    const char * publicKeyXml;
    const char * privateKeyXml;
    HCkPrivateKey privKey;
    HCkPublicKey pubKey;

    rsa = CkRsa_Create();

    success = CkRsa_UnlockComponent(rsa,"Anything for 30-day trial");
    if (success != TRUE) {
        printf("RSA component unlock failed\n");
        return;
    }

    //  Generate a 1024-bit key.  Chilkat RSA supports
    //  key sizes ranging from 512 bits to 4096 bits.
    success = CkRsa_GenerateKey(rsa,1024);
    if (success != TRUE) {
        printf("%s\n",CkRsa_lastErrorText(rsa));
        return;
    }

    //  Keys are exported in XML format:

    publicKeyXml = CkRsa_exportPublicKey(rsa);
    printf("%s\n",publicKeyXml);

    privateKeyXml = CkRsa_exportPrivateKey(rsa);
    printf("%s\n",privateKeyXml);

    //  Save the private key in PEM format:
    privKey = CkPrivateKey_Create();
    CkPrivateKey_LoadXml(privKey,privateKeyXml);
    CkPrivateKey_SaveRsaPemFile(privKey,"privateKey.pem");

    //  Save the public key in PEM format:
    pubKey = CkPublicKey_Create();
    CkPublicKey_LoadXml(pubKey,publicKeyXml);
    CkPublicKey_SaveOpenSslPemFile(pubKey,"publicKey.pem");

    CkRsa_Dispose(rsa);
    CkPrivateKey_Dispose(privKey);
    CkPublicKey_Dispose(pubKey);

    }

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.