Sample code for 30+ languages & platforms
Java

Add Private Key and Certificate to a PEM

See more PEM Examples

Demonstrates how to add certificates and private keys to a PEM.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.Cert;
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Pem;
import com.chilkatsoft.chilkat2.PrivateKey;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example assumes the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        // The Chilkat PEM class was introduced in v9.5.0.49.
        // It requires the bundle to be unlocked, as shown above.
        Pem pem = new Pem();

        // Add the private key found in alice.key to this PEM.
        //
        PrivateKey privKey = new PrivateKey();

        try {
            privKey.loadAnyFormatFile("qa_data/alice.key", "");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // Add it to the PEM:
        pem.addPrivateKey(privKey);

        // Add the certificate found in alice.crt to this PEM.
        //
        Cert cert = new Cert();

        try {
            cert.loadFromFile("qa_data/alice.crt");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // Add it to the PEM:
        boolean includeCertChain = false;
        pem.addCert(cert, includeCertChain);

        // Write the PEM containing the private key and certificate.
        // The private key will be output in PKCS8 encrypted form.
        // Certificates are never encrypted.

        // This is the password that will be required to open and access the private key
        // from the PEM we're about to write..
        String password = "secret";
        boolean extendedAttrs = false;
        boolean noKeys = false;
        boolean noCerts = false;
        boolean noCaCerts = false;
        String encryptAlg = "aes128";

        String pemStr = pem.toPemEx(extendedAttrs, noKeys, noCerts, noCaCerts, encryptAlg, password);
        System.out.println(pemStr);
    }
}