Sample code for 30+ languages & platforms
PureBasic

Load any format Ed25519 Key

See more Ed25519 Examples

Demonstrates how to load any format Ed25519 private or public key.

Note: Chilkat began support for Ed25519 keys in version 9.5.0.83

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkPublicKey.pb"
IncludeFile "CkPrivateKey.pb"

Procedure ChilkatExample()

    success.i = 0

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

    ; A private key, regardless of type or format (RSA, EC, DSA, Ed25519) can be loaded by
    ; calling LoadAnyFormat or LoadAnyFormatFile.

    ; Likewise, a public key, regardless of type or format can be loaded by calling
    ; LoadFromFile or LoadBd.

    ; For example:
    privKey.i = CkPrivateKey::ckCreate()
    If privKey.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    ; Pass an empty password if not needed.
    password.s = ""
    success = CkPrivateKey::ckLoadAnyFormatFile(privKey,"qa_data/eddsa/ed25519.pem",password)

    ; For example, an encrypted PKCS8 key of any type (Ed25519, RSA, EC, etc.)
    password = "secret"
    success = CkPrivateKey::ckLoadAnyFormatFile(privKey,"qa_data/rsa/pkcs8.key",password)

    ; The same for public keys..
    ; (public keys never have nor need passwords)
    pubKey.i = CkPublicKey::ckCreate()
    If pubKey.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success = CkPublicKey::ckLoadFromFile(pubKey,"qa_data/pubkeys/pubkey_pkcs1.der")


    CkPrivateKey::ckDispose(privKey)
    CkPublicKey::ckDispose(pubKey)


    ProcedureReturn
EndProcedure