Create an ECDSA public key from coordinates
This example creates an ECDSA public key from raw x/y point
coordinates, validates its serialized representation, and shows how to dynamically load a public key
when a PEM file is not available.
FUNCTION TEST1()
DEFINE key Xml.CryptoKey
DEFINE str_tmp STRING
DEFINE pubkey STRING
LET pubkey = "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEno/am4KD9n9sf6kEPSde11E9Hr+W2PFfoSXthTkdeyEFs+Obrnt5OcPAb2x27P0m7cwuf/51eyO4cJ7G1+MSQQ=="
TRY
LET key = Xml.CryptoKey.Create("http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256")
CALL key.loadEllipticCurve("secp256r1", "no/am4KD9n9sf6kEPSde11E9Hr+W2PFfoSXthTkdeyE=", "BbPjm657eTnDwG9sduz9Ju3MLn/+dXsjuHCextfjEkE=")
LET str_tmp = key.saveToString()
IF NOT (str_tmp.equals(pubkey)) THEN
DISPLAY "TEST 1 Expected '"||pubkey||"' as key value but found '"||str_tmp||"'"
END IF
DISPLAY "TEST 1 OK"
CATCH
DISPLAY "TEST 1 Error "|| sqlca.sqlerrm
END TRY
END FUNCTION