Sample code for 30+ languages & platforms
PowerBuilder

Load an EC Public Key from Point Coordinates

Demonstrates the Chilkat PublicKey.LoadEcdsa method, which loads an elliptic-curve public key from its affine point coordinates. The first argument names the curve, the second is the hexadecimal x-coordinate (Qx), and the third is the y-coordinate (Qy).

Background: An EC public key is a point (x, y) on a named curve, so this loader constructs the key from those raw values directly — the option to use when a system hands you the coordinates rather than an encoded key. The curve name (for example secp256r1) is essential, since the same coordinates mean nothing without knowing which curve they lie on.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_PubKey
string ls_CurveName
string ls_Qx
string ls_Qy

li_Success = 0

//  Demonstrates the PublicKey.LoadEcdsa method, which loads an elliptic-curve public key from its
//  affine point coordinates.  The 1st argument names the curve, the 2nd is the hex x-coordinate
//  (Qx), and the 3rd is the hex y-coordinate (Qy).

loo_PubKey = create oleobject
li_rc = loo_PubKey.ConnectToNewObject("Chilkat.PublicKey")
if li_rc < 0 then
    destroy loo_PubKey
    MessageBox("Error","Connecting to COM object failed")
    return
end if

ls_CurveName = "secp256r1"
ls_Qx = "1ccbe91c075fc7f4f033bfa248db8fccd3565de94bbfb12f3c59ff46c271bf83"
ls_Qy = "ce4014c68811f9a21a1fdb2c0e6113e06db7ca93b7404e78dc7ccd5ca89a4ca9"

li_Success = loo_PubKey.LoadEcdsa(ls_CurveName,ls_Qx,ls_Qy)
if li_Success = 0 then
    Write-Debug loo_PubKey.LastErrorText
    destroy loo_PubKey
    return
end if

Write-Debug "Loaded an EC public key on " + ls_CurveName


destroy loo_PubKey