Sample code for 30+ languages & platforms
PowerBuilder

Load an Ed25519 Private Key from Hex

See more Ed25519 Examples

Demonstrates how to load an Ed25519 private key from raw hex bytes.

Note: This example requires Chilkat v9.5.0.83 or greater.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_PrivKey
string ls_PrivKeyHex
string ls_PubKeyHex
oleobject loo_PrivKey2
oleobject loo_SbPubKeyHex

li_Success = 0

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

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

// We have the hexidecimal encoded bytes of the private key and public key:
ls_PrivKeyHex = "d4ee72dbf913584ad5b6d8f1f769f8ad3afe7c28cbf1d4fbe097a88f44755842"
ls_PubKeyHex = "19bf44096984cdfe8541bac167dc3b96c85086aa30b6b6cb0c5c38ad703166e1"

// Load these values into the Chilkat private key object:
li_Success = loo_PrivKey.LoadEd25519(ls_PrivKeyHex,ls_PubKeyHex)
if li_Success = 0 then
    Write-Debug loo_PrivKey.LastErrorText
    destroy loo_PrivKey
    return
end if

// ---------------------------------------------------------------
// We don't actually need the public key.  If we pass an empty string for the public key,
// Chilkat will automatically compute it.
loo_PrivKey2 = create oleobject
li_rc = loo_PrivKey2.ConnectToNewObject("Chilkat.PrivateKey")

li_Success = loo_PrivKey2.LoadEd25519(ls_PrivKeyHex,"")

// Let's get the public key to see that it computed the same value.
loo_SbPubKeyHex = create oleobject
li_rc = loo_SbPubKeyHex.ConnectToNewObject("Chilkat.StringBuilder")

ls_PrivKeyHex = loo_PrivKey2.GetRawHex(loo_SbPubKeyHex)
Write-Debug "computed public key = " + loo_SbPubKeyHex.GetAsString()

// The output should be:
// computed public key = 19bf44096984cdfe8541bac167dc3b96c85086aa30b6b6cb0c5c38ad703166e1


destroy loo_PrivKey
destroy loo_PrivKey2
destroy loo_SbPubKeyHex