https站点是否必须具有世界知名的CA证书?

https站点是否必须具有世界知名的CA证书?,https,openssl,certificate,tls1.2,keytool,Https,Openssl,Certificate,Tls1.2,Keytool,我希望我的网站使用HTTPS协议是安全的。当我用不同的CN创建自己的CA证书时,我成功地将一个自签名密钥设置为受信任的CertEntry。 使用openssl对其进行平滑测试时,它的工作原理如下: openssl s_client -connect www.mydomain.com:80 -tls1 -state 因此,浏览器不会报告证书自签名错误,因为它会看到不同的CA 但是我得到了一个SEC\u错误\u未知\u颁发者错误。但在我看来,这似乎是合乎逻辑的,因为没有人知道我是CA。如果用户为我

我希望我的网站使用HTTPS协议是安全的。当我用不同的CN创建自己的CA证书时,我成功地将一个自签名密钥设置为受信任的CertEntry。
使用openssl对其进行平滑测试时,它的工作原理如下:

openssl s_client -connect www.mydomain.com:80 -tls1 -state
因此,浏览器不会报告证书自签名错误,因为它会看到不同的CA

但是我得到了一个
SEC\u错误\u未知\u颁发者
错误。但在我看来,这似乎是合乎逻辑的,因为没有人知道我是CA。如果用户为我添加了异常,这应该是可行的。 我认为这个技巧是可以接受的,就像许多兼容https的网站都在工作一样,因为你可能访问一个未知的网站,你想加密来自第三方观察者的通信,但信任该页面。
在试图获得明确的回应之后,除了编码之外,我还会找到资源,我的问题是:


如果我想要一个用户不必在第一次访问时添加异常的站点,我是否必须从“世界知名”的CA获得证书?或者,我是否缺少使用自己的CA证书对证书进行自签名的解决方案?

从技术上讲,答案是:是,您必须从用户浏览器信任的CA处获得证书,该CA通过一系列中间CA(终止于固有的受信任根CA)获得。此问题的公认答案解释了其工作原理:

话虽如此,如果您“唯一”关心的是提供加密连接,那么您可能能够利用提供免费证书的。这些证书将是唯一的,它提供的身份保证比(例如)证书更弱

根据使用的浏览器,DV和EV证书之间的用户体验差异最小。对于Safari,用户将在地址栏中看到一个灰色挂锁,用于较低级别的站点,如下所示:

当提供更高的身份保证时,会有一个绿色挂锁,如下所示:

前者是否适合您(或您的客户)取决于您的情况


如果您想了解“固有信任”对web浏览器的实际含义,请参阅此博文:

是的,您必须通过一系列中间CA(以固有信任根CA结尾)从用户浏览器信任的CA处获取证书。请参阅!现在我有一个明确的回答。关于self-CA证书的教程(至少我所看到的)没有明确指出,对于期待未知访问者的网站来说,这是无用的,很高兴地假设每个人都会信任并安装您的证书。为什么不将其作为答案发布,我会检查它?好的,我发布了一个答案,并提供了一个可能对您有用的替代方法(假设您主要担心成本和工作量:-)),不仅给了我答案,而且让我学到了很多。非常感谢你,雷尼尔!;-)