我正在尝试使用内置浏览器从 Android 2.3.4 访问受 SSL 保护的 Web 应用程序。
服务器证书是我使用MAKECERT创建并安装在服务器上的自签名证书。当我尝试访问该页面时,我从浏览器中收到一条错误消息,指出The name of the site does not match name on the certificate
.
我已经验证并且服务器地址与我的证书的公用名完全匹配(它实际上只是一个 IP 地址)。
当我尝试在 Android 设备上访问使用非自签名证书保护的其他网站时,不会弹出该消息。
如果我在桌面上使用 IE 或 Chrome 访问同一页面 - 除了签名授权消息之外 - 我不会收到任何警告,并且一旦我在受信任的根 CA 中安装了证书,浏览器就会顺利接受该证书。
我是否应该认为该消息实际上是 Android 拒绝自签名证书?
对此我有点疑惑。
我尝试在凭据存储中安装证书,但这并没有改善这种情况。现在我不知道接下来我会尝试什么。
问题是:在创建 Android 可接受的自签名证书时,我应该遵循什么特别的事情吗?有没有人设法在没有此警告的情况下获得 Android 接受的自签名证书?
我还能尝试什么?
-更新-布鲁诺
的回复将我引向了正确的方向,因此我设法向前迈出了一步:我重新制作了添加 SAN 的证书(不得不放弃MAKECERT
,OpenSSL
按照安迪·阿里斯门迪的指示)。
现在消息已经消失,但我在此 SO 帖子中已经讨论过的“认证权威不受信任”问题中被阻止,所以我仍在努力寻找我的问题的最终解决方案 - Android 浏览器上没有弹出任何警告。