每当我试图了解有关 SSL 的任何内容时,我总是很难跟踪“密钥”和“证书”所指的内容。我担心很多人会错误地或互换地使用它们。密钥和证书之间有标准区别吗?
当我访问https://1.1.1.1 时,我使用的任何网络浏览器都认为该 URL 是安全的。
这是谷歌浏览器显示的:
通常,当我尝试通过其 IP 地址访问 HTTPS 站点时,会收到如下安全警告:
根据我的理解,站点证书需要匹配域,但谷歌浏览器证书查看器没有显示1.1.1.1:
GoDaddy 的知识库文章“我可以申请内网名称或 IP 地址的证书吗?” 说:
否 - 我们不再接受 Intranet 名称或 IP 地址的证书请求。这是一项全行业标准,而不是特定于 GoDaddy 的标准。
(强调我的)
并且:
因此,自 2016 年 10 月 1 日起,证书颁发机构 (CA)必须撤销使用Intranet 名称或IP 地址的SSL 证书。
(强调我的)
和:
您应该重新配置服务器以使用完全限定域名 (FQDN),例如www.coolexample.com,而不是保护 IP 地址和 Intranet 名称。
(强调我的)
早在 2016 年 10 月 1 日的强制撤销日期之后,证书1.1.1.1已于 2018 …
我正在使用以下代码生成密钥:
apt-get -qq -y install openssl;
mkdir -p /etc/apache2/ssl;
openssl genrsa -des3 -out server.key 1024;
openssl req -new -key server.key -out server.csr;
cp server.key server.key.org;
openssl rsa -in server.key.org -out server.key;
openssl x509 -req -days 12000 -in server.csr -signkey server.key -out server.crt;
mv server.crt /etc/apache2/ssl/cert.pem;
mv server.key /etc/apache2/ssl/cert.key;
rm -f server.key.orig;
rm -f server.csr
Run Code Online (Sandbox Code Playgroud)
我有两个问题:
如何跳过密码提示?我这样做是否相当安全?(因为它不应该是彻头彻尾的愚蠢,因为任何人都应该能够破解证书)
如何避免提示输入国家/地区名称、组织等。我希望我可以在命令提示符下提供它们(手册页仅显示 OpenSSL 的顶级选项)
今天,我的 Ubuntu 14 服务器发送到具有 Let's Encrypt 颁发的 SSL 证书的网站的所有 HTTPS 请求突然开始失败。cURL 产生的错误是:
curl: (60) SSL certificate problem: certificate has expired
Run Code Online (Sandbox Code Playgroud)
当我使用以下命令检查网站证书时:
curl: (60) SSL certificate problem: certificate has expired
Run Code Online (Sandbox Code Playgroud)
我看到所有证书链都是最新的。
那么为什么我会收到过期错误呢?如何修复它?
我只是想知道通配符 SSL 证书是否一定需要有一个通用名称,其中包含需要应用 SSL 证书的站点的域名。
例如,对于以下情况:
域名:testdomain.com
子站点:
我是否一定需要通配符证书才能有一个通用名称*.testdomain.com?
我安装了 Go Daddy SSL 证书,并且在除 Android 之外的任何地方都可以正常工作。
https://www.ssllabs.com/ssltest/analyze.html 说该链不完整,我在堆栈溢出中读到了错误顺序的 SSL 链将在 Android 上失败。
但是我该如何安排呢?在我的服务器上?SSL证书本身需要重新加密吗?在 FTP 上移动东西?
在 Safari 中使用客户端证书存在许多问题:
我该如何解决这些问题?
是否有任何 Web 浏览器缓存 SSL 服务器证书?例如,如果我更改了 Web 服务器上的 SSL 证书,所有 Web 浏览器在通过 SSL 连接时是否都会获取新证书,或者它们是否可能拥有过时的证书?
我正在考虑 SSL 证书过期并被 Web 服务器上的新证书替换的情况。
我有许多通过 HTTPS 访问的网络设备。但是,它们是自签名证书,因此 Chrome 会显示警告页面。

在早期版本的 chrome 中,我似乎记得此屏幕或证书信息窗口上的“添加例外”按钮(如果您单击地址栏中的 HTTPS)。然而,这早已消失了。
如何在 Chrome 28 中为特定的自签名证书添加例外?
我最近在使用自签名证书的 chrome 中遇到了错误消息 ERR_SSL_KEY_USAGE_INCOMPATIBLE。在最终重新生成证书之前,我花了几个小时试图解决问题:
openssl req -new -x509 -days 36500 -nodes -newkey rsa:2048 -keyout cert.key -out cert.crt -extensions v3_req
希望这对其他人有帮助。
ssl-certificate ×10
https ×3
ssl ×3
browser ×2
web ×2
certificate ×1
letsencrypt ×1
openssl ×1
prompt ×1
safari ×1
security ×1
ubuntu-14.04 ×1
x509 ×1