为什么SecPKCS12Import总是返回错误代码-26275?

时间:2020-03-11 07:00:27

标签: swift

我正在尝试对客户端证书进行身份验证,但SecPKCS12Import函数始终返回错误代码-26275并且项目也为零

struct IdentityAndTrust {
    var identity : SecIdentity
    var trust : SecTrust
    var certArray : NSArray
}

func extractIdentity(certData : NSData) -> IdentityAndTrust {
    var identityAndTrust : IdentityAndTrust!
    var securityError : OSStatus = errSecSuccess

    let key = kSecImportExportPassphrase
    let options = [key : "xyz"]
    var items : CFArray?

    securityError = SecPKCS12Import(certData, options as CFDictionary, &items)

    if securityError == errSecSuccess {
        let certItems = items as! CFArray
        let certItemsArray = certItems as Array
        let dict = certItemsArray.first

        if let certEntry = dict {
            //grab the identity
            let identityPointer = certEntry["identity"]
            let secIdentityRef = identityPointer

            //grab the trust
            let trustPointer = certEntry["trust"]
            let trustRef = trustPointer

            //grab the certificate
            let chainPointer = certEntry["chain"]
            identityAndTrust = IdentityAndTrust(identity: secIdentityRef as! SecIdentity, trust: trustRef as! SecTrust, certArray: chainPointer! as! NSArray)
        }
    }
    print(securityError.description)
    return identityAndTrust
}

0 个答案:

没有答案
相关问题