Sample code for 30+ languages & platforms
Tcl

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

Tcl

load ./chilkat.dll

set success 0

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

set privKey [new_CkPrivateKey]

set success [CkPrivateKey_LoadPemFile $privKey "qa_data/ecc/secp256r1-key-pkcs8.pem"]
if {$success == 0} then {
    puts [CkPrivateKey_lastErrorText $privKey]
    delete_CkPrivateKey $privKey
    exit
}

# Get the public key.
set pubKey [new_CkPublicKey]

CkPrivateKey_ToPublicKey $privKey $pubKey

# Save the public key to a PEM file.
set success [CkPublicKey_SavePemFile $pubKey 0 "qa_data/ecc/secp256r1-pubkey.pem"]
if {$success == 0} then {
    puts [CkPublicKey_lastErrorText $pubKey]
    delete_CkPrivateKey $privKey
    delete_CkPublicKey $pubKey
    exit
}

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

puts "Success."

delete_CkPrivateKey $privKey
delete_CkPublicKey $pubKey