Sample code for 30+ languages & platforms
DataFlex

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

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoPubKey
    String sCurveName
    String sQx
    String sQy
    String sTemp1

    Move False To iSuccess

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

    Get Create (RefClass(cComChilkatPublicKey)) To hoPubKey
    If (Not(IsComObjectCreated(hoPubKey))) Begin
        Send CreateComObject of hoPubKey
    End

    Move "secp256r1" To sCurveName
    Move "1ccbe91c075fc7f4f033bfa248db8fccd3565de94bbfb12f3c59ff46c271bf83" To sQx
    Move "ce4014c68811f9a21a1fdb2c0e6113e06db7ca93b7404e78dc7ccd5ca89a4ca9" To sQy

    Get ComLoadEcdsa Of hoPubKey sCurveName sQx sQy To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoPubKey To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Showln "Loaded an EC public key on " sCurveName


End_Procedure