- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我无法理解 NSURLAuthenticationMethodServerTrust。在我的应用程序中,我必须同时使用基于服务器的 http 和 https 连接。我的问题是,如果我收到 NSURLAuthenticationMethodServerTrust 挑战,是否可以安全地假设为 https 连接。我究竟应该如何应对这一挑战。
如有任何帮助,我们将不胜感激。谢谢
最佳答案
我不确定接收 NSURLAuthenticationMethodServerTrust
是否总是表示 https 连接。我不明白为什么或如何一个普通的 http 连接会导致 NSURLAuthenticationMethodServerTrust
身份验证挑战,所以我假设它是 https,但我不确定。但是 NSURLAuthenticationChallenge
有一个 NSURLProtectionSpace
,它又有一个属性 receivesCredentialSecurely
.该文档有点不明确,但我假设此属性表示与服务器的安全连接,在 http/https 情况下这意味着它是 https。
关于回应什么,macnetworkprog-mailinglist 上有一个关于此主题的有用线程:Question + Answer
总结:NSURLAuthenticationMethodServerTrust
不是关于您(客户端)响应服务器的身份验证挑战,而是让您(客户端)有机会检查您是否应该信任服务器全部。在这种情况下,挑战的 protectionSpace
包含一个 serverTrust
对象/结构,其中包含验证该服务器是否应该被信任所需的所有信息。通常,您会使用 SecTrustEvaluate
函数来检查 serverTrust
并根据检查结果采取行动。您可以在此处找到更多信息:Overriding TLS Chain Validation Correctly
如果检查确定服务器应该信任你create an NSURLCredential
with the serverTrust
object并将其传递给身份验证质询发送者/完成 block 。
您可以在此处找到 Apple 的一个相当广泛的示例项目:http://developer.apple.com/library/ios/#samplecode/AdvancedURLConnections/Introduction/Intro.html它很旧(iOS 3/4,Arc 之前)并且只处理旧的 NSURLConnectionDelegate
,它必须委托(delegate)方法而不是一个(比如新的和 NSURLSessionDelegate
) .但是此处显示的验证和您可以实现的不同场景仍然适用,并且应该可以轻松转移到 NSURLSession
。
关于ios - NSURLAuthenticationMethodServerTrust 是 ssl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11120449/
我无法理解 NSURLAuthenticationMethodServerTrust。在我的应用程序中,我必须同时使用基于服务器的 http 和 https 连接。我的问题是,如果我收到 NSURLA
我已经在我们的应用程序中设置了通用链接,但我无法在应用程序安装时从我的服务器检索 apple-app-site-association 文件。设备控制台在安装期间尝试检索文件时出现以下错误: Reje
我找不到关于 NSURLAuthenticationMethodHTMLForm 的任何文档。如何使用 NSURLAuthenticationMethodHTMLForm authentication
我们想将我们的应用程序连接到我们的 IIS 网络服务。我们使用自签名证书和客户端证书进行身份验证。 当网络服务不需要客户端证书身份验证时,一切正常,NSURLAuthenticationMethodS
我是一名优秀的程序员,十分优秀!