Data

Extensions for encrypting, decrypting or signing Data using the appropriate algorithm determined by the key’s curve with the provided ECPrivateKey or ECPublicKey.

  • Decrypt the encrypted data using the provided ECPrivateKey. The signing algorithm used is determined based on the private key’s elliptic curve.

    Throws

    An ECError if the Encrypted data fails to be decrypted.

    Declaration

    Swift

    public func decrypt(with key: ECPrivateKey) throws -> Data

    Parameters

    ecPrivateKey

    The elliptic curve private key.

    Return Value

    The plaintext Data.

  • Encrypt the data using the ECPublicKey. This either uses the SecKeyAlgorithm: eciesEncryptionStandardVariableIVX963SHA256AESGCM, or the equivalent OpenSSL implementation.

    Throws

    An ECError is the plaintext fails to be encrypted.

    Declaration

    Swift

    public func encrypt(with key: ECPublicKey) throws -> Data

    Parameters

    ecPrivateKey

    The elliptic curve private key.

    Return Value

    The encrypted Data.

  • Sign the plaintext data using the provided ECPrivateKey. The Data is signed using ECDSA with either SHA256, SHA384 or SHA512, depending on the key’s curve.

    Throws

    An ECError if a valid signature is unable to be created.

    Declaration

    Swift

    public func sign(with key: ECPrivateKey) throws -> ECSignature

    Return Value

    An ECSignature on failure.