给定 SecKey ,有什么方法可以推断其类型(例如,它是 kSecAttrKeyTypeRSA
还是 kSecAttrKeyTypeEC
)?
我明白了SecKeyGetTypeID() ,但我不清楚该函数对哪个关键对象进行操作,因为它不接受任何参数。
最佳答案
您可以从 key 中检索kSecAttrKeyType
,并检查它是否为kSecAttrKeyTypeRSA
(或kSecAttrKeyTypeEC
)。示例(取自 SwiftyRSA ):
func isRSAKey(seckey: SecKey) -> Bool {
guard let attributes = SecKeyCopyAttributes(seckey) as? [CFString: Any],
let keyType = attributes[kSecAttrKeyType] as? String else {
return false
}
let isRSA = keyType == (kSecAttrKeyTypeRSA as String)
return isRSA
}
关于ios - 有没有办法获取SecKey的 key 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58615077/