0

我正在尝试通过 Alamofire 对我的请求使用自签名证书。

让 trustPolicy = ServerTrustPolicy.pinCertificates(证书:[证书],validateCertificateChain:true,validateHost:true)

                let serverTrustPolicies: [String: ServerTrustPolicy] = [
                    "https:-domain-name": trustPolicy,"domain-name" : .disableEvaluation]
                let policyManager = ServerTrustPolicyManager(policies: serverTrustPolicies)

但我收到以下错误。

CredStore - copyIdentPrefs - 复制身份凭据时出错。错误=-25300,查询={ 类 = idnt; labl = " https://域名:443/ "; “r_Ref” = 1;}

[BoringSSL]boringssl_context_alert_callback_handler(3724) [C1.1:2][0x139d1bd20] 警报级别:致命,描述:握手失败 2019-01-22 15:34:23.448605+0530 DB[1276:264543] [BoringSSL]boringssl_session_errorlog(224 ) [C1.1:2][0x139d1bd20] [boringssl_session_handshake_incomplete] SSL_ERROR_SSL(1):库内操作失败

2019-01-22 15:34:23.448796+0530

DB[1276:264543] [BoringSSL]boringssl_session_handshake_error_print(205) [C1.1:2][0x139d1bd20] 5266093016:error:10000410:SSL 例程:OPENSSL_internal:SSLV3_ALERT_HANDSHAKE_FAILURE:/BuildRoot/Library/Caches/com.apple.xbs /boringssl/boringssl-109.230.1/ssl/tls_record.cc:586:SSL 警报号 40

2019-01-22 15:34:23.448986+0530 数据库[1276:264543]

[BoringSSL]boringssl_context_get_error_code(3545) [C1.1:2][0x139d1bd20] SSL_AD_HANDSHAKE_FAILURE

2019-01-22

15:34:23.464957+0530 DB[1276:264543] TIC 读取状态 [1:0x281599800]: 1:-9824

2019-01-22 15:34:23.467598+0530

DB[1276:264543] 任务 <43E199F9-B030-4BFD-B9E0-8C9F59B43E72>.<1> HTTP 加载失败(错误代码:-9824 [1:-9824])

2019-01-22

15:34:23.468019+0530 DB[1276:264574] 任务 <43E199F9-B030-4BFD-B9E0-8C9F59B43E72>.<1> 完成错误 - 代码:-9824 2019-01-22 15:34:23.470149+0530 DB [1276:264574] 任务 <43E199F9-B030-4BFD-B9E0-8C9F59B43E72>.<1> 加载失败,错误域=NSPOSIXErrorDomain 代码=-9824“未知错误:-9824”UserInfo={_NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <43E199F9-B030 -4BFD-B9E0-8C9F59B43E72>.<1>, _kCFStreamErrorDomainKey=1, NSErrorPeerAddressKey={length = 16, capacity = 16, bytes = 0x100201bb03106e120000000000000000}, _kCFStreamErrorCodeKey=-9824, _NSURLErrorRelatedURLSessionTaskErrorKey=( "LocalDataTask <43E199F9-B030-4BFD-B9E0 -8C9F59B43E72>.<1>" )} [-9824]

从过去 1 周开始一直在尝试这个。任何帮助,将不胜感激。

4

1 回答 1

0

在 Alamofire 中禁用评估不会禁用系统对证书的基本验证,默认情况下会阻止自签名证书。我建议您阅读Apple 的 ATS 文档,但我猜这将需要NSExceptionAllowsInsecureHTTPLoads您的域和其他设置的某种组合。如果可以提供帮助,您还应该确保不要发布这些设置。

于 2019-01-28T03:52:24.573 回答