Sample code for 30+ languages & platforms
Lianja

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 Lianja Downloads

Lianja
llSuccess = .F.

// 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-----

loPrivKey = createobject("CkPrivateKey")
llSuccess = loPrivKey.LoadPemFile("qa_data/ecc/secp256r1-key-pkcs8.pem")
if (llSuccess = .F.) then
    ? loPrivKey.LastErrorText
    release loPrivKey
    return
endif

// Get the public key.
loPubKey = createobject("CkPublicKey")
loPrivKey.ToPublicKey(loPubKey)

// Save the public key to a PEM file.
llSuccess = loPubKey.SavePemFile(.F.,"qa_data/ecc/secp256r1-pubkey.pem")
if (llSuccess = .F.) then
    ? loPubKey.LastErrorText
    release loPrivKey
    release loPubKey
    return
endif

// 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-----

? "Success."


release loPrivKey
release loPubKey