Sample code for 30+ languages & platforms
Java Requires Chilkat v11.0.0+

Get EC Public Key from EC Private Key

See more ECC Examples

Demonstrates how to get an EC public key from an EC private key.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.PrivateKey;
import com.chilkatsoft.chilkat2.PublicKey;

public class ChilkatExample {

    public static void main(String[] args) {
        // We have an ECC private key...
        // The contents of the private key PEM file look like this:

        //     -----BEGIN PRIVATE KEY-----
        //     MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg3J8q/24D1sEKGdP9
        //     72MGYElLGpw/a56Y3t6pfON3uhShRANCAATlSmoizyhAwoYZAOuFBATl07/1RR54
        //     a1Dzfm16grxJe666AGKR+bSs24hk7TEpaeCTvT8YOOM3l+xKFg7zq6Q9
        //     -----END PRIVATE KEY-----

        PrivateKey privKey = new PrivateKey();
        try {
            privKey.loadPemFile("qa_data/ecc/secp256r1-key-pkcs8.pem");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // Get the public key.
        PublicKey pubKey = new PublicKey();
        privKey.toPublicKey(pubKey);

        // Save the public key to a PEM file.
        try {
            pubKey.savePemFile(false, "qa_data/ecc/secp256r1-pubkey.pem");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // The contents of the ECC public key PEM file look like this:

        //     -----BEGIN PUBLIC KEY-----
        //     MIIBSzCCAQMGByqGSM49AgEwgfcCAQEwLAYHKoZIzj0BAQIhAP////8AAAABAAAA
        //     AAAAAAAAAAAA////////////////MFsEIP////8AAAABAAAAAAAAAAAAAAAA////
        //     ///////////8BCBaxjXYqjqT57PrvVV2mIa8ZR0GsMxTsPY7zjw+J9JgSwMVAMSd
        //     NgiG5wSTamZ44ROdJreBn36QBEEEaxfR8uEsQkf4vOblY6RA8ncDfYEt6zOg9KE5
        //     RdiYwpZP40Li/hp/m47n60p8D54WK84zV2sxXs7LtkBoN79R9QIhAP////8AAAAA
        //     //////////+85vqtpxeehPO5ysL8YyVRAgEBA0IABOVKaiLPKEDChhkA64UEBOXT
        //     v/VFHnhrUPN+bXqCvEl7rroAYpH5tKzbiGTtMSlp4JO9Pxg44zeX7EoWDvOrpD0=
        //     -----END PUBLIC KEY-----

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