我在iPhone 3G OS 3.0.1上使用my iPhone application没有任何问题。该应用程序连接到https://api.serverdensity.com/1.0/的API网址,所有请求都通过它。
该应用的用户报告他们现在突然收到“不受信任的服务器证书”错误。没有其他用户遇到这个问题(我知道),我无法重现它。
SSL证书是* .serverdensity.com上的通配符证书。它从GoDaddy购买,有效期至2010年5月。
此外,用户正在运行OS 3.0.1,在设备上正确设置时间/日期,如果他访问Safari中的API URL,则会正确加载。
有关此原因的任何建议吗?
答案 0 :(得分:6)
我遇到了同样的问题!
你在那里安装了“中级证书套装”吗?如果不这样做,那么您将在所有移动平台(以及一些PC平台)上获得不受信任的服务器证书。
网站引用:
在安装已颁发的SSL证书之前,必须在Web服务器上下载并安装我们的中间证书包。您也可以从存储库下载该包。
查看您的网络服务器设置GoDaddy SSL install instructions。
可以找到中级证书包here。
答案 1 :(得分:6)
看起来所有东西都会通过安装证书来检查。所有中间证书都由服务器发送:http://www.sslshopper.com/ssl-checker.html?hostname=api.serverdensity.com
答案 2 :(得分:4)
如果您遇到错误“不受信任的服务器证书”,请验证iPhone或iPod的日期和时间设置。
从iPhone / iPod“设置”更正日期和时间后。它将自动关注所有应用程序(即Yahoo messenger,Citrix,Push mail ....等)遇到“不受信任的服务器证书”问题。试试吧。希望这对你有所帮助。感谢。
答案 3 :(得分:3)
早期的iOS和Android设备附带了一个小于桌面浏览器的根证书数据库。您需要将中间CA证书与服务器证书连接起来,并让Web服务器将它们全部发送到手机。后来iOS和Android版本通过在设备上包含更多ca证书来解决这个问题。
答案 4 :(得分:2)
我实际上已经看到了我自己的应用程序,它也使用了godaddy证书 - 是的,我已经在我的服务器上安装了中间证书。
这种情况很少见,但如果用户进入wifi热点,将其登录页面插入连接尝试,则会发生这种情况。它实际上是SSL的正确行为,它是由热点有效地为您的URL进行中间人重定向引起的。
他们可以通过首先进入Safari并使连接正常工作来修复它。
OS3.0应该自动登录这种热点,但根据我的经验,它并不总是有效。
编辑:要添加,在我使用SSL之前,我曾经检测过这个普通的http,并提出了相应的错误消息。建议您在应用程序中捕获此错误并提出类似消息“您可能已连接到需要登录的热点”等等。现在您已经提醒我,我需要自己做应用
答案 5 :(得分:2)
我们以前在连接到API时使用基本HTTP AUTH的“硬编码”身份验证方法:
NSString *requestURL = [NSString stringWithFormat:@"https://%@:%@@api.serverdensity.com/1.0/?account=%@.serverdensity.com&c=%@", username, password, account, command];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:requestURL] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
但在我们的最新更新中切换到使用“正确”方法:
NSString *requestURL = [NSString stringWithFormat:@"https://api.serverdensity.com/1.0/?account=%@.serverdensity.com&c=%@", account, command];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:requestURL] cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:60.0];
使用NSURLCredential正确处理HTTP身份验证。在此更新之后,相关用户的证书错误消失。
答案 6 :(得分:0)
我在越狱的测试手机上看到了同样的错误信息,但在我的其他测试手机上没有。我从来没有进一步调查过,但我想如果有帮助就提到......
答案 7 :(得分:0)
我会确认您的手机可以在没有任何警告的情况下加载任何https://网址。我有一个旧的3.1.3 iPhone,由于某种原因警告它遇到的每一个证书。不知道原因是什么,但它使我几乎无法测试我的网络服务。