无论如何我可以下载服务器的SSL证书并在尝试连接它以在黑莓设备中发送数据之前验证它吗?我正在使用((HttpsConnection)conn).getSecurityInfo();
,但它提供的证书类型没有太多有用的信息。当我试图检查类型时,它说net.rim.device.api.crypto.certificate.CertificateUtilities
。有什么方法可以将它转换为X509证书,以便我可以访问更多有用的信息吗?
答案 0 :(得分:3)
检查班级net.rim.device.api.crypto.certificate.x509.X509Certificate
更新:
抱歉,我之前的回答是错误的:API中有两个具有相同类名的接口:net.rim.device.api.crypto.certificate.Certificate
(X509Certificate
扩展)和javax.microedition.pki.Certificate
(J2ME)。后者是你可以通过HttpsConnection检索的,它不是很有用。
因此您无法使用X509Certificate构造函数,要创建实例,您需要先从服务器下载证书,或将其包含在您的应用程序资源中。在这个问题中,您可以看到如何从服务器下载证书: https://serverfault.com/q/139728/87344。但是,这可能不是您的选择。
答案 1 :(得分:1)
您无需事先下载。它在握手期间发送,并在握手完成后通过SSL会话验证并可供应用程序使用。
答案 2 :(得分:-2)
定期执行WINDOWS或MICROSOFT UPDATE并将其设置为永久更新,以便您无需手动操作。如果更新认为合适,将自动安装SSL证书。两个月我在这个问题上花了很多时间,但结果却没有。手动更正您的时间(年,小时,munite)或从控制面板上获取互联网TIME SYNCHRONIZATION的帮助 - 日期和时间 - 互联网时间 - 立即更新。然后转到“开始” - Microsoft更新或Windows更新。基本上这个问题是由于日期和时间错误而发生的。非常有趣的是,如果您以错误的方式设置时间,则此证书错误会在极少数情况下自动消失。