问题标签 [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 投票
1 回答
2097 浏览

certificate-revocation - 如何仅从 CRL 检查撤销列表?

我正在使用 WinVerifyTrust 来验证文件签名。

与互联网的连接非常糟糕,所以我只想检查本地缓存。

问题是我对如何在WinTrustData中设置参数感到困惑

关于fdwRevocationChecks - 文档如下:

当 WTD_REVOKE_NONE 标志与 WinVerifyTrust 函数的 pgActionID 参数中设置的 HTTPSPROV_ACTION 值结合使用时,不会进行额外的吊销检查。为确保 WinVerifyTrust 函数在验证代码签名时不会尝试任何网络检索,必须在 dwProvFlags 参数中设置 WTD_CACHE_ONLY_URL_RETRIEVAL。

“没有额外的撤销检查”是什么意思 - 除了什么?它是否使用 CRL 进行吊销检查?如果我将此字段设置为 *WTD_REVOKE_WHOLECHAIN* 它也会在线检查吗?

如果我设置 WTD_CACHE_ONLY_URL_RETRIEVAL 是否足以确保它不会尝试从 Internet 获取吊销列表?

底线:我如何确保CRL 检查,但没有任何在线检查。

谢谢

0 投票
1 回答
5856 浏览

x509certificate2 - 离线撤销模式

我的问题类似于这个问题。

我正在尝试仅使用本地 CRL 检查吊销列表。

我正在使用具有以下参数的 X509Chain.Build():

但我收到以下错误:

  1. RevocationStatusUnknown => 吊销功能无法检查证书的吊销。
  2. OfflineRevocation => 由于吊销服务器处于脱机状态,吊销功能无法检查证书的吊销。

奇怪的是,一旦我尝试在线检查吊销列表(因此 CRL 将被更新),问题就解决了。所以看起来一旦缓存中有任何东西,问题就不能再重现了。

我认为错误消息可能不正确,实际发生的情况是,当缓存为空时,会出现一些异常导致此消息弹出。另一种选择是,也许有一些标志表明缓存是否已在某个时候更新,如果它从未更新过,它会尝试从外部服务器获取信息

谁能指出这个问题的原因是什么?

0 投票
1 回答
6914 浏览

java - 启用证书吊销检查时,Java 1.7u25 上的小程序出现 ClassNotFoundException;在 1.6 上工作正常

我正在使用 html & jnlp 来部署小程序。小程序由外部生成的证书签名,因为它需要所有权限。它在 Java 1.6 上运行良好。在 Java 1.7 上,它会抛出 ClassNotFoundException 无法找到小程序的主类。

代码是使用 1.6 编译的,我需要它同时在 1.6 和 1.7 上工作。

索引.html:

WebUI.jnlp:

以下是 Java 控制台的内容:

0 投票
2 回答
18478 浏览

c# - 在 Windows 上禁用应用程序的证书吊销检查

我有一个 .NET 3.5 桌面应用程序,每当它所在的测试机器不在办公室时,它的功能就会周期性地变慢。
我设法在没有互联网连接的办公室机器上复制了错误,但只有当我使用 ANTS 性能分析器时,我才能更清楚地了解正在发生的事情。

在 ANTS 中,我看到“等待同步”最多需要 16 秒,这与我在 NHibernate 尝试加载 System.Data.SqlServerCE.dll 程序集时在应用程序中看到的延迟相对应。
如果我立即再次尝试该操作,它将不会延迟,但如果我将其放置 5 分钟,那么下次尝试再次加载时会很慢。

从我目前的研究来看,这似乎是因为 SqlServerCE dll 已签名,因此系统正在尝试连接以获取证书吊销列表并超时。
禁用 Internet 选项 LAN 设置中的“自动检测设置”设置会使问题消失,禁用“检查发布者证书吊销”也是如此。
但是将部署此应用程序的管理员不会对在每台机器或每个用户的基础上禁用证书检查的想法感到满意,因此我真的需要让 CRL 检查的应用程序级别禁用工作。

.net 2.0 中有一个有据可查的错误,它描述了这种行为,并提供了一个可能的修复与配置文件元素。

但是,即使我使用的是 .net 3.5,这对我也不起作用。
NHibernate 正在动态加载 SQLServerCE dll,我想知道它是动态的事实是否可能是该设置不起作用的原因,但我不知道如何检查。

任何人都可以就配置设置可能不起作用的原因提供建议吗?
或者是否有另一种方法可以在应用程序级别禁用检查,也许是一个 CAS 策略设置,我可以使用它在安装应用程序时为其设置异常?
或者我可以在应用程序中更改一些东西以提高信任级别或类似的东西?

0 投票
1 回答
7020 浏览

ssl - 证书吊销如何与中间 CA 一起使用?

假设有一个如下所示的 PKI 层次结构。

我的问题是:根 CA 是否还需要定期从其子级下载 CRL:inter-1 和 inter-2?

由于 user-1 和 user-2 可以相互认证,如果 user-2 的证书被 inter-2 吊销,inter-2 应该让 root 知道,然后传播给 inter-1 和 user-1,对吗?

如果是这样,它似乎相当复杂。是否有任何工具可用于管理吊销逻辑?非常感谢。

0 投票
2 回答
2571 浏览

tomcat - 根据 Tomcat 7 中的证书吊销列表验证客户端证书

在 Tomcat 中针对 CRL 进行客户端证书验证的常用方法是什么?

A) 一种可能的解决方案:更新 server.xml,设置连接器,设置密钥和信任存储,并且有 crlList 参数。

这种方法有两个问题:

1) 列表的维护 - 必须在 Tomcat 之外完成,Tomcat 需要重新启动才能获取最新的列表

2)没有(或至少我能找到的)方法来支持多个 CA 机构的 crl 列表,或者只是说 - 同时多个 CR 列表。

几年前,我无法使用 Tomcat 5 找到“好的”解决方案。关于 7 的任何消息?

B)是否有通用/优雅的方法来覆盖连接器处理程序和当前功能并提供自定义证书验证?

JBoss AS 允许您这样做,只需扩展现有类并让您有可能定义自己的登录模块和自己的验证器。

0 投票
2 回答
2409 浏览

iis - 在 IIS 7 中启用/禁用 CRL 检查有什么好处吗?

目前在我们的环境中,我们为 ADFS 启用了 CRL 检查,但我们是否还需要为 IIS7.5 启用 CRL 检查?我们的 IIS 服务器设置在防火墙后面,仅用于传出流量,没有传入流量。

如果禁用 CRL 检查,我们可能会遇到任何好处/问题吗?我无法在任何地方找到我的问题的正确答案,所以我想我会在这里发布一个问题。

谢谢。

0 投票
1 回答
1542 浏览

gnupg - 吊销证书 GPG

我无法理解 gpg 中吊销证书的含义。如果我创建了我的密钥的撤销证书,如果它被盗或丢失,我可以导入它,我的密钥现在被撤销。如果我现在将我的密钥上传到密钥服务器,我的密钥应该不再有效,对吧?但是任何人在我撤销之前已经拥有我的密钥,仍然可以加密给我的消息,而窃取它的人仍然可以解密这些消息。只有在从密钥服务器撤销后下载密钥的新人才能看到密钥已被撤销并且不再有效。我说得对吗?

0 投票
2 回答
634 浏览

java - 我们如何在 HTTPS 中进行自己的证书验证步骤

与 HttpsURLConnection 建立 HTTPS 连接时,我需要将自己的证书验证步骤放入 SSL 握手中。我已经编写了自己的证书验证码来验证主机证书中的某些属性,例如Certificate Revocation Status using Online Certificate Status Protocol。在 Java 中包含此步骤的正确方法是什么。我可以将它添加为默认 HostNameVerifier 的一部分,如下所示,但有没有合适的方法来做到这一点?

0 投票
1 回答
1138 浏览

java - 无主机的 Applet 证书 CRL 分发点 LDAP URL

我正在开发一个使用由客户 CA 颁发的证书签名的小程序的 Web 应用程序。该证书包含指向未定义主机和端口的 CRL 分发点的 URL。证书属性“CRL Distribution Points”和“Authority Information Access”包含类似于“ldap:///CN=my-cn...”的 URL。

证书撤销检查 API (C:\Users[my_user]\AppData\LocalLow\Sun\Java\Deployment\log) 生成的日志文件表明值“localhost”和“389”正用于主机和端口. 这是日志文件的片段:

谁能确认主机是强制性的,否则使用默认值“localhost”?

我在 LDAP RFC ( http://www.ietf.org/rfc/rfc4516.txt ) 中读到,如果“主机”字段不存在,则客户端必须先验了解要联系的适当 LDAP 服务器。是否可以配置“主机”属性?

我正在使用 JRE 版本 1.7.0_45(内部版本 1.7.0_45-b18)。

谢谢, Telmo Simões