gpt4 book ai didi

php - 我们可以检测是否安装了根 CA 证书吗?

转载 作者:可可西里 更新时间:2023-10-31 22:12:16 25 4
gpt4 key购买 nike

这可以用 JavaScript 或 PHP 实现吗?我希望能够检测到我的私有(private) CA 是否安装在用户的 iOS 或 Android 设备上。从那里我可以决定是否提供安装说明。我一直在“googlin”,但没有发现任何有用的东西。有人试过这个吗?我想找出我应该花时间学习什么。如果不可能,您能否建议在浏览器中使用替代方案?

编辑: 我在这里别无选择,这不是我的决定。出于其他安全原因,将使用私有(private) CA 证书。

最佳答案

我怀疑是否会有任何类型的设备查询来对此进行测试。

我实际上并没有这样做,但您可能想出一个测试,其中 JavaScript 向使用您要测试的证书的 https 服务器发出 AJAX 请求。如果请求成功,则证书有效。 (This question 似乎暗示如果 SSL 证书未通过验证,AJAX 请求将(正确地)失败)

请注意,由于 URL 的方案(http 或 https)会有所不同(域可能取决于您的设置方式),您的测试站点将必须使用 CORS Access-Control- Allow-Origin header 允许浏览器发出请求。参见:AJAX calls to untrusted (self-signed) HTTPS fail silently

编辑:我花了些时间整理了一个非常简单的例子。转到 http://ssl_test.gjp.cc 。该页面将尝试向使用自签名证书的 https://ssl_test2.gjp.cc 发出 AJAX 请求。在您信任 ssl_test2 之前,您将在 ssl_test 页面上看到“失败”,但是一旦您信任 ssl_test2 的证书,您应该始终看到ssl_test“成功”。

请注意,这并不能证明您的用户安装了 CA 证书 - 只能证明他们已将浏览器配置为信任测试站点 (ssl_test2)。如果您从不直接将用户指向测试站点,那么他们将永远不会有机会只信任该站点,因此这应该工作得相当好。

关于php - 我们可以检测是否安装了根 CA 证书吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18473351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com