Restores a key from an external representation of that key.


func SecKeyCreateWithData(_ keyData: CFData, _ attributes: CFDictionary, _ error: UnsafeMutablePointer<Unmanaged<CFError>?>?) -> SecKey?



Data representing the key. The format of the data depends on the type of key being created. See the description of the return value of the SecKeyCopyExternalRepresentation(_:_:) function for details.


A dictionary containing attributes describing the key to be imported. This dictionary must include at least the following keys:


The address of a CFError object. If an error occurs, this is set to point at an error instance that describes the failure.

Return Value

The restored key or nil on failure.

See Also

Import and Export

Storing Keys as Data

Create an external representation of a key for transmission.

func SecKeyCopyExternalRepresentation(SecKey, UnsafeMutablePointer<Unmanaged<CFError>?>?) -> CFData?

Returns an external representation of the given key suitable for the key's type.