Sample code for 30+ languages & platforms
Java

Apple Keychain - Import RSA Private Key

See more Apple Keychain Examples

Imports an RSA private key to the Apple Keychain.

Note: This example requires Chilkat v10.0.0 or greater.

Chilkat Java Downloads

Java
import com.chilkatsoft.*;

public class ChilkatExample {

  static {
    try {
        System.loadLibrary("chilkat");
    } catch (UnsatisfiedLinkError e) {
      System.err.println("Native code library failed to load.\n" + e);
      System.exit(1);
    }
  }

  public static void main(String argv[])
  {
    boolean success = false;

    String pemPath = "/Users/chilkat/qa_data/rsa/rsaPrivKey_pkcs8.pem";
    // Provide a password if your PEM is encrypted. Otherwise pass the empty string.
    String pemPassword = "";

    CkPrivateKey privKey = new CkPrivateKey();
    success = privKey.LoadAnyFormatFile(pemPath,pemPassword);
    if (success == false) {
        System.out.println(privKey.lastErrorText());
        return;
        }

    // In Apple Keychain, the label for an item such as a private key is a user-friendly identifier that helps distinguish one item from
    // another in the Keychain. It is typically a brief name or description associated with the item. 
    // The label is displayed in the Keychain Access application and is useful for quickly identifying the purpose
    // or source of a specific key, certificate, or password entry.

    // The label does not affect the functionality or security of the item; it is purely for organizational purposes. 
    // You can edit or assign labels to make your Keychain easier to navigate.

    // On MacOS, you can save the private key to the Keychain by calling SavePkcs8File with a "filename" in the format"keychain:<label>"
    success = privKey.SavePkcs8File("keychain:MyRsaKey123");
    if (success == false) {
        System.out.println(privKey.lastErrorText());
        return;
        }

    System.out.println("Success.");

    // Here you can see:
    // 
    // image
  }
}