Sample code for 30+ languages & platforms
Swift

Generate an ECDSA Key

See more ECC Examples

Demonstrates how to generate an ECDSA key.

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

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

    // Create a Fortuna PRNG and seed it with system entropy.
    // This will be our source of random data for generating the ECC private key.
    let fortuna = CkoPrng()!
    var entropy: String? = fortuna.getEntropy(numBytes: 32, encoding: "base64")
    success = fortuna.addEntropy(entropy: entropy, encoding: "base64")

    let ecc = CkoEcc()!

    // Generate a random ECC private key on the secp256r1 curve.
    // Chilkat also supports other curves, such as secp384r1, secp521r1, and secp256k1.

    let privKey = CkoPrivateKey()!
    success = ecc.genKey(curveName: "secp256r1", prng: fortuna, privKey: privKey)
    if success == false {
        print("\(ecc.lastErrorText!)")
        return
    }

    print("\(privKey.getXml()!)")

    // Save the private key to PKCS8 encrypted PEM
    // (The private key can be saved in a variety of different formats. See the online reference documentation.)
    success = privKey.savePkcs8EncryptedPemFile(password: "pemPassword", path: "myPemFiles/eccKey123.pem")
    if success != true {
        print("\(privKey.lastErrorText!)")
    }

    print("finished.")

}