标签: ocsp

如何检查我的 SSL 证书是否已被吊销

最近发现的 Heartbleed 漏洞促使证书颁发机构重新颁发证书。

我有两个证书是在发现 heartbleed 漏洞之前生成的。在 SSL 颁发者告诉我重新生成证书后,我用新证书更新了我的服务器/域。

如果我的理解是正确的,那么旧证书应该已被 CA 吊销,并且应该已将其添加到 CRL(证书吊销列表)或 OCSP 数据库(在线证书状态协议)中,否则技术上可能有人执行“中间人攻击”,通过从受损证书中获取的信息重新生成证书。

有没有办法检查我的旧证书是否已通过 CRL 和 OCSP。如果他们还没有,有没有办法让他们包括在内?

更新:情况是我已经替换了我的证书,我所拥有的只是旧证书的 .crt 文件,因此使用 url 进行检查是不可能的。

linux ssl ocsp crl heartbleed

27
推荐指数
3
解决办法
4万
查看次数

OpenSSL:如何设置 OCSP 服务器以检查第三方证书?

我正在测试 CMTS 设备的证书撤销功能。这需要我设置一个 OCSP 响应程序。由于它仅用于测试,我假设 OpenSSL 提供的最小实现就足够了。

我已经从电缆调制解调器中提取了证书,将其复制到我的 PC 并将其转换为 PEM 格式。现在我想在 OpenSSL OCSP 数据库中注册它并启动一个服务器。

我已经完成了所有这些步骤,但是当我执行客户端请求时,我的服务器总是以“未知”响应。它似乎完全不知道我的证书的存在。

如果有人愿意查看我的代码,我将不胜感激。为方便起见,我创建了一个脚本,其中包含所有使用命令的顺序列表,从设置 CA 到启动服务器:http : //code.google.com/p/stacked-crooked/source/browse/主干/杂项/OpenSSL/AllCommands.sh

您还可以找到我正在测试的自定义配置文件和证书:http : //code.google.com/p/stacked-crooked/source/browse/trunk/Misc/OpenSSL/

任何帮助将不胜感激。

openssl ocsp

24
推荐指数
1
解决办法
2万
查看次数

OCSP 验证 - 无法获得本地颁发者证书

我是从头开始设置 SSL 的新手,并做了我的第一步。我从 RapidSSL 为我的域购买了 SSL 证书,并按照那里的步骤安装证书。一般来说,证书是有效的并且可以在我的网络服务器上运行(nginx v1.4.6 - Ubuntu 14.04.1 LTS),但是如果我尝试激活 OCSP OCSP,我会在我的 nginx error.log 中收到以下错误:

OCSP_basic_verify() 失败(SSL:错误:27069065:OCSP 例程:OCSP_basic_verify:证书验证错误:验证错误:无法获得本地颁发者证书),同时请求证书状态,响应者:gv.symcd.com

我也用命令行中的这个命令尝试过:

openssl s_client -connect mydomain.tld:443 2>&1 < /dev/null

并在我的 error.log 中得到“相同”错误:

[...]SSL 会话:协议:TLSv1.2 密码:ECDHE-RSA-AES256-GCM-SHA384 [...] 开始时间:1411583991 超时:300(秒)验证返回代码:20(无法获取本地发行人证书)

但是,如果下载 GeoTrust Root Certificat 并使用以下命令尝试:

openssl s_client -connect mydomain.tld:443 -CAfile GeoTrust_Global_CA.pem 2>&1 < /dev/null

验证没问题:

[...]SSL 会话:协议:TLSv1.2 密码:ECDHE-RSA-AES256-GCM-SHA384 [...] 开始时间:1411583262 超时:300(秒)验证返回代码:0(确定)

所以不知何故没有找到/交付 GeoTrust 根证书。

我的 nginx 站点配置:

server {
    listen 443;
    server_name mydomain.tld;

    ssl on;
    ssl_certificate /etc/ssl/certs/ssl.crt;
    ssl_certificate_key /etc/ssl/private/ssl.key;


    # Resumption
    ssl_session_cache shared:SSL:20m; …
Run Code Online (Sandbox Code Playgroud)

nginx ssl-certificate ocsp ubuntu-14.04

17
推荐指数
1
解决办法
3万
查看次数

用于测试目的的免费 OCSP 服务器?

任何人都可以为 Windows 或 Linux 推荐一个免费且简单的 OCSP 服务器吗?

security certificate ocsp

15
推荐指数
1
解决办法
9488
查看次数

OCSP 响应程序不存在?

我正在尝试设置 OCSP 验证例程,因此希望首先适应环境。在例如OpenSSL: Manually verify a certificate against an OCSP 中找到了优秀的教程。

出现多个问题,所以请耐心等待。

自该教程以来发生了一些变化,但我认为要点是:

1)获取您要验证的证书,例如

openssl s_client -connect wikipedia.org:443 2>&1 < /dev/null | sed -n '/-----BEGIN/,/-----END/p' > wikipedia.pem
Run Code Online (Sandbox Code Playgroud)

2)建立证书链,例如

openssl s_client -connect wikipedia.org:443 -showcerts 2>&1 < /dev/null > chain.pem
Run Code Online (Sandbox Code Playgroud)

然后进行适当的编辑。我发现上面没有提供自签名 CA 证书 GlobalSignRootCA,所以在.

3)确定ocsp URI,例如

openssl x509 -noout -ocsp_uri -in wikipedia.pem 
Run Code Online (Sandbox Code Playgroud)

返回

http://ocsp2.globalsign.com/gsorganizationvalsha2g2
Run Code Online (Sandbox Code Playgroud)

4)调用openssl ocsp客户端,例如

openssl ocsp -issuer chain.pem -cert wikipedia.pem -url http://ocsp2.globalsign.com/gsorganizationvalsha2g2
Run Code Online (Sandbox Code Playgroud)

返回

[woody@oc2042275410 testCerts]$ openssl ocsp -issuer chain.pem -cert wikipedia.pem -url http ://ocsp2.globalsign.com/gsorganizationvalsha2g2
Error querying OCSP responsder …
Run Code Online (Sandbox Code Playgroud)

openssl x509 ocsp

13
推荐指数
1
解决办法
6109
查看次数

nginx: ssl_stapling_verify: 到底验证了什么?

ssl_stapling_verify指令究竟是做什么的?它是否检查答案的签名是否正确?nginx 官方文档对此的解释非常模糊:

https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_stapling_verify

启用或禁用服务器对 OCSP 响应的验证。

为了验证工作,服务器证书颁发者的证书、根证书和所有中间证书应该使用 ssl_trusted_certificate 指令配置为受信任。

nginx ocsp

13
推荐指数
1
解决办法
6257
查看次数

Postfix 和 Dovecot 是否支持 OCSP 装订?

由于我想在我的 SSL 证书中设置“必须装订”属性,我正在做一些研究,以确定我的所有服务是否都支持 OCSP 装订。到目前为止,我发现 Apache 可以使用 SSLLabs.com 进行确认。

但除此之外,我无法确认我的其他两个服务(SMTP 和 IMAP)是否也支持 OCSP 装订。现在我的问题是,Postfix 和 Dovecot 是否也支持它?

PS:我知道证书在邮件传输方面似乎并不重要,但我想避免任何可能的问题,如果我添加属性并且客户端可能因此拒绝工作,而其他人可能从中受益。

ssl postfix dovecot ocsp

10
推荐指数
1
解决办法
3547
查看次数

出于安全目的,Windows 2008 是否会忽略某些特定的主机文件条目?

在对网络超时/连接 WinHTTP 问题进行故障排除时,我临时添加了一个主机文件条目:

127.0.0.1 ctldl.windowsupdate.com
Run Code Online (Sandbox Code Playgroud)

(服务器没有互联网连接,防火墙导致一些延长的超时——我想暂时将它设置为本地地址以使其立即失败)。

但出于某种原因,即使在刷新 DNS 缓存后,ping 尝试仍会转到实际 IP。

这让我开始思考:是否存在某些 Windows 2008 绝对不会确认其主机文件条目的 FQDN?也许是为了恶意软件/病毒防护?

windows-server-2008 hosts-file ocsp

6
推荐指数
1
解决办法
1073
查看次数

在启用 IIS SNI 的站点上启用 OCSP 装订

如果在 IIS 站点的绑定上选中了需要服务器名称指示,则该站点的 OCSP 装订被禁用。

这可以通过为当前不需要的站点启用 SNI 并使用https://www.ssllabs.com/ssltest/或 openssl检查来轻松确认:

openssl s_client -connect foobar.com:443 -servername foobar.com -tls1 -tlsextdebug -status
Run Code Online (Sandbox Code Playgroud)

有没有人对此有解决方法,以便启用 SNI 的站点的客户可以享受 OCSP 装订的好处?

iis sni ocsp

6
推荐指数
1
解决办法
4905
查看次数

我可以在重新加载/重启时自动制作 Nginx OCSP 主食证书吗?

有没有办法在每次重新加载或重新启动Nginx配置时主动生成OCSP 主食证书?或者,是否可以将 Nginx 设置为在重新加载或重新启动时保存装订的证书而不是丢弃它们?重新加载或重新启动 Nginx 似乎会清除所有缓存的 OCSP 装订证书。

我对 OSCP 装订进行了测试,并在运行 Nginx 1.11.4 并使用Certbot 的 OCSP Must-Staple TLS 功能扩展的 Ubuntu 16.04.1 服务器上工作。我的问题是,在重新加载或重新启动 Nginx 时,不会保存装订的响应,第一个访问者会看到一个错误页面(这是服务器尚未装订的“必须装订”证书的预期结果)。

我必须访问服务器托管的每个网站并重新加载它们几次,同时 Nginx 自动 OCSP 装订证书,然后一切重新开始工作,直到下一次重新启动。我想自动化这一步或完全避免它。

nginx ocsp

6
推荐指数
1
解决办法
2186
查看次数