Returns a Boolean indicating whether a key is suitable for an operation using a certain algorithm.


func SecKeyIsAlgorithmSupported(_ key: SecKey, _ operation: SecKeyOperationType, _ algorithm: SecKeyAlgorithm) -> Bool



The key whose suitability you want to test.


The operation that you want to perform with the key. Use one of the values from SecKeyOperationType.


The algorithm that you want to perform with the key. Use one of the values from SecKeyAlgorithm.

Return Value

A Boolean indicating whether the key can be used for the given operation and algorithm.

See Also

Examining Keys

func SecKeyGetBlockSize(SecKey) -> Int

Gets the block length associated with a cryptographic key.

func SecKeyCopyAttributes(SecKey) -> CFDictionary?

Gets the attributes of a given key.

struct SecKeyAlgorithm

The algorithms that cryptographic keys enable.

enum SecKeyOperationType

The types of operations that you can use a cryptographic key to perform.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software