我需要从证书中获取公钥
我已经找到了在iOS 12+和iOS 10.3+上做这件事的方法,但是我怎么才能在iOS 10.0+上做呢?
func publicKey(for certificate: SecCertificate) -> SecKey? {
if #available(iOS 12.0, *) {
return SecCertificateCopyKey(certificate)
} else if #available(iOS 10.3, *) {
return SecCertificateCopyPublicKey(certificate)
} else {
// ???
return nil
}
}发布于 2019-07-01 17:42:13
我找到了解决方案
func publicKey(for certificate: SecCertificate) -> SecKey? {
if #available(iOS 12.0, *) {
return SecCertificateCopyKey(certificate)
} else if #available(iOS 10.3, *) {
return SecCertificateCopyPublicKey(certificate)
} else {
var possibleTrust: SecTrust?
SecTrustCreateWithCertificates(certificate, SecPolicyCreateBasicX509(), &possibleTrust)
guard let trust = possibleTrust else { return nil }
var result: SecTrustResultType = .unspecified
SecTrustEvaluate(trust, &result)
return SecTrustCopyPublicKey(trust)
}
}https://stackoverflow.com/questions/56832979
复制相似问题