问题标签 [certificate-revocation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
111 浏览

ssl - 使tomcat中的“crlFile”属性动态化

为了在服务器端执行客户端证书身份验证(SSL)以进行撤销,我们可以在 tomcat 连接器中添加属性 crlFile。但是这个过程是静态的,这意味着如果该位置的 crlFile 更新,tomcat 不会选择新的 CRL,它仍然绑定到旧的 CRL 文件。Tomcat 需要重新启动才能选择 CRL 文件中的新更改。

我这里有两个问题,

1)如何使上述过程动态化(如果该路径中的 CRL 文件已更新,则无需重新启动即可选择更改)?

2)如何及时从CA获取更新的CRL文件以及在tomcat中配置CDP(CRL分发点)的位置,以便如果CA更新CRL文件,它将文件(有一些到期时间)下载到本地机器(服务器)?

0 投票
1 回答
1373 浏览

c# - 在 C# 的 BouncyCastle 库中通过 x509Crl.IsRevoked() 方法检查证书?

我正在尝试使用其吊销列表(crl 文件)检查证书。在 BouncyCustle 库中有一个方法x509Crl.IsRevoked(),应该用于此目的。关键是它获取x509Certificate对象作为参数,但我不明白如何创建这个x509Certificate对象。我用于DotNetUtilities.FromX509Certificate()System.Security.Cryptography.X509Certificates.x509Certificate2对象转换为Org.BouncyCastle.X509.X509Certificate对象,但我遇到了问题 - 方法IsRevoked()总是返回true- 对于我测试的所有 crl。

问题:如何Org.BouncyCastle.X509.X509Certificate直接从二进制创建对象而不转换 from System.Security.Cryptography.X509Certificates.x509Certificate2

我用它的 crl 文件检查证书的代码:

0 投票
1 回答
4080 浏览

ssl - 将 CRL(证书撤销列表)url 添加到证书

我正在使用以下命令生成根 CA:

然后我使用以下命令创建签名用户证书(不使用中间证书):

1)为用户生成密钥

2) 创建企业社会责任

3) 使用根证书签署密钥

4)生成.p12文件

注意 - 我已将 crlDistributionPoints = URI: http://localhost:8000/crl/distripoint.crl.pem 添加到 openssl.cnf 以及以下选项:

注意-我使用本教程生成了 distribution.crl.pem

0 投票
1 回答
461 浏览

windows - Windows LDAP 客户端 - 通过 CRL 启用撤销

我正在使用 Windows LDAP 客户端 DLL (wldap32.dll) 连接到远程 LDAP 服务器。连接通过 TLS(端口 636 上的 LDAPS 协议)完成。

我的问题是启用 CRL 撤销。我发现可以使用以下方法为 LDAP 会话设置 schannel 选项:

ldap_set_option(LDAP_OPT_SCH_FLAGS, &uLong);

所以我尝试将 SCH_CRED_REVOCATION_CHECK_CHAIN 选项传递给上述调用(当然是在 ldap_bind_s 之前),但是在检查了 wireshark 流量之后,我看到效果是客户端正在从服务器请求 OCSP 状态,这似乎失败了( TLS 握手被中止,因为没有返回 OCSP 状态)但是,服务器证书确实包含 CDP,我希望客户端使用它通过指定的 CRL 执行吊销检查,而不是通过 OCSP。

这只是 schannel 的限制还是我做错了什么?

谢谢

阿米特

0 投票
1 回答
1685 浏览

python-3.x - 将证书吊销列表 (CRL) 文件从 .crl 转换为 .pem 扩展名 - Python 3

我正在开发一个 Python 3.4 应用程序组件,它检查 URL 的证书是否存在于其 CA 提供的 CRL 中。我正在使用加密包来加载证书以及 CRL。以下是代码部分;

该代码从站点“crlURL”下载一个 CRL 文件并将其作为 crlFile 存储在本地。该文件具有 .crl 扩展名。该文件必须转换为 PEM 格式(并分配给 pem_crl_data)才能获得 crl 对象“crl”。如何进行转换(甚至不将文件保存在本地)?

0 投票
1 回答
6112 浏览

openssl - openssl CLI - 验证整个认证链的 CRL

我正在使用 OpenSSL 来验证自定义 PKI 中的签名代码。如何验证证书层次结构的每个节点的 CRL。

我的层次结构是:RootCA -> SubCA1 -> SubCA2 -> EndUser。我可以验证一个深度链的 CRL:

但是,当我尝试使用多个 subCA 实现相同的目标时,CRL 验证失败:

是否有可能实现 CRL 的这种多深度验证?我也尝试过使用-check_crl_all,但它给出了同样的错误。

0 投票
1 回答
2238 浏览

android - Android:我应该在哪里查找证书吊销列表?

我想获取在 Android 设备上下载的所有已撤销证书列表的列表?我知道这个类允许您检查证书是否被吊销,但我想获得吊销证书的整个列表。可能吗?Android 是存储这样的列表还是使用 OCSP 来检查证书?

0 投票
1 回答
2039 浏览

c# - C# X509Certificate2.Verify 无撤销测试

我尝试使用 X509Certificate2.Verify() 函数来检查证书链是否有效。验证函数返回 false,ChainElementStatus 返回“RevocationStatusUnknown”。

有没有办法在不检查 RevocationStatus 的情况下使用验证功能?没有互联网连接就无法检查 RevocationStatus?是否有其他功能可以在没有 RevocationStatus 的情况下检查链和证书?

一个肮脏的解决方案是检查 RevocationStatus 是否是 element.ChainElementStatus 中的唯一元素。

我已经使用了 X509RevocationMode.Offline 和 IgnoreCertificateAuthorityRevocationUnknown。

来自:X509Certificate2.Verify() 方法的代码始终为有效证书返回 false

结果:

链信息 链撤销标志:ExcludeRoot 链撤销模式:离线 链验证标志:IgnoreCertificateAuthorityRevocationUnknown 链验证时间:19.11.2018 07:53:31 链状态长度:1 链应用策略计数:0 链证书策略计数:0

链元信息 链元数:2 链元同步?错误的

元素颁发者名称:CN=TestRootCA 元素证书有效期至:01.01.2019 00:00:00 元素证书有效:False 元素错误状态长度:1 元素信息:元素扩展数:5

RevocationStatusUnknown Die Sperrfunktion konnte keine Sperrprüfung für das Zertifikat durchführen。

元素颁发者名称:CN=TestRootCA 元素证书有效期至:01.01.2019 00:00:00 元素证书有效:True 元素错误状态长度:0 元素信息:元素扩展数:2

0 投票
1 回答
1209 浏览

ssl - 如何将条目插入证书吊销列表

我有一个现有的 CRL,我想通过 SSLCARevocationPath 指令与我的 apache 实例一起使用。为了测试它并确保它正常工作,我想在 CRL 中为我自己的 PIV 证书信息添加一个条目。此条目将如下所示:

我拥有的 CRL 文件本质上是一个这样的条目列表。但是,我似乎找不到一种方法来使用 openssl 之类的东西将我的条目插入到文件中,并且无法直接在 Notepad++ 中编辑该文件。有没有办法在不需要生成新的 CRL 的情况下做到这一点?

0 投票
0 回答
895 浏览

spring-boot - spring boot 不接 custmize trustManager

我基于spring boot 2.0.3在webApi上工作,并且已经通过application.properties启用了带有自签名证书的ssl,我添加了一个新功能来验证本地CRL和自定义的trustManager,但是spring boot没有选择代码。

你能帮忙找出问题所在吗?如果有人可以展示如何检查本地 CRL 文件,那也很有帮助。

像这样配置属性。

像这样注入定制的信任管理器: