- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我使用 Vertx v3.4.1 和 vertx-rx-java 来运行我的服务器。我必须启用基于证书的身份验证(相互身份验证),因此尝试在服务器端处理证书吊销检查。
我正在尝试使用 addCrlPath method of HttpServerOptions .但是,看起来,即使已加载的 CRL 已过期,它也不会从给定的“路径”或证书的 CRL 分发点 (CDP) 重新加载 CRL。我找不到任何关于如何使用 Vertx 以编程方式实现它的 API/文档。
我查看了 getTrustMgrFactory method in SSLHelper class 的实现,而且我感觉它会选择仅在服务器启动时提供的 CRL。
所以,我的查询是:
addCrlPath
方法中提供的相同路径重新加载 CRL?否则我唯一的选择就是自己处理这些。
下面是我如何初始化我的服务器的代码
import io.vertx.core.http.ClientAuth;
import io.vertx.core.http.HttpServerOptions;
import io.vertx.core.net.PfxOptions;
import io.vertx.rxjava.core.Vertx;
import io.vertx.rxjava.ext.web.Router;
import io.vertx.rxjava.ext.web.RoutingContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class VertxServer {
private static final Logger LOGGER = LoggerFactory.getLogger(VertxServer.class);
private Vertx vertx;
public VertxServer(final Vertx v) {
this.vertx = v;
}
public void init() {
vertx.createHttpServer(getHttpServerOptions())
// getRouter() method handles router configuration.
.requestHandler(req -> getRouter().accept(req))
.rxListen()
.doOnSuccess(server -> LOGGER.info("Started listening to server..."))
.doOnError(e -> LOGGER.error("Unable to listen. Server launch failed", e))
.subscribe(
server -> LOGGER.info("Server launched successfully. {}", server),
e -> LOGGER.error("Server launch failed", e))
;
}
private HttpServerOptions getHttpServerOptions() {
HttpServerOptions options = new HttpServerOptions()
.setHost("127.0.0.1")
.setPort(8085);
.setSsl(true)
.setPfxKeyCertOptions(
new PfxOptions()
.setPath("E:\\temp\\certs\\server.pfx")
.setPassword("servercertpass".toCharArray())
)
setTrustStoreOptions(options);
return options;
}
private void setTrustStoreOptions(final HttpServerOptions options) {
PfxOptions pfxOptions = new PfxOptions()
.setPath("E:\\temp\\certs\\client-cert-root.p12")
.setPassword("clientcertrootpass".toCharArray());
options.setPfxTrustOptions(pfxOptions)
.addCrlPath("E:\\temp\\certs\\crls\\client-certs.crl")
.setClientAuth(ClientAuth.REQUEST);
}
// Other methods here, which are not relevant for this question.
}
最佳答案
在编写此查询时,重新加载 CRL 的选项在 Vertx 中不存在。根据 Vertx google group discussion , 它需要一些改进。此功能可能会在实现相应更改后可用。
关于java - 在 Vertx 和 Java 中使用 CRL 处理证书吊销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46359146/
我有一个工作证书,但由于某种原因无法从中获取 CRL 信息。 我运行它以确保它正常工作: openssl x509 -outform PEM -in cert_2_.pem 这是输出: -----BE
全部, 有人对 Azure 上 CRL 使用的最佳实践有最好的看法吗? 背景:使用客户端证书进行身份验证的 Azure 托管服务。我们拥有一个 CA(我们拥有、管理和信任)并向客户端颁发链式证书,用于
SSLLabs.com 报告我的 SSL 证书有问题。 我以前从未见过这种错误。我的所有 5 个域都使用 Comodo SSL(单独的证书)并且都显示完全相同的错误消息。 在我的专用服务器上是否需要更
我需要每周一次下载并安装大约 50 个 CRL,并将它们安装在多个 Windows 服务器上。下载是简单的部分,有什么方法可以编写 CRL 导入过程的脚本吗? 最佳答案 这是我的最终来源(为公众略微删
我正在使用 OpenSSL 验证自定义 PKI 中的签名代码。如何验证证书层次结构中每个节点的 CRL。 我的层次结构是:RootCA -> SubCA1 -> SubCA2 -> EndUser。我
我想使用Android的硬件KeyStore功能,所以我使用Pixel3手机来获取KeyStore对象的证书链,如this article所示. 查看一个特定的.cer例如,文件中的 CRL 分发点为
我希望这个问题不会与 StackOverFlow FAQ 规则混淆 所以,例如,当使用用 C++ 编写的库时,这意味着我们在这些 DLL 中有一些代码将要执行,当在这种情况下执行软件时,这部分代码将由
查看 uWSGI 文档,我看到我可以指定一个 CA 证书来检查任何传入的 SSL 请求并确保它们具有由该 CA 签名的客户端证书(http://uwsgi-docs.readthedocs.org/e
如何在 java 中设置默认的 CRL 路径。至于现在不包含 CRL 分发点的证书,我得到这个: PKIX path validation failed: java.security.cert.Cer
我已通过阅读以下 msdn 链接使用 makecert.exe 创建了一个自签名证书: https://msdn.microsoft.com/en-us/library/ff648498.aspx 但
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwa
据我所知和提到的here浏览器检查特定证书吊销状态的主要技术有两种:使用在线证书状态协议(protocol) (OCSP) 或在证书吊销列表 (CRL) 中查找证书。 嗯,我知道有一些在线 OCSP
如何以编程方式检查某个证书是否已从其 CA CRL 列表中吊销? 我这样做: X509Chain ch = new X509Chain(); ch.ChainPolicy.RevocationMode
有没有办法立即使 CRL(证书撤销列表)缓存失效,从而导致客户端再次下载 CRL? 我想在 C# 中实现它而不求助于命令行“certutil.exe”。 更好的是能够设置失效时间(比如 UtcNow
我有一个基本的 nginx 家庭服务器设置,我使用客户端证书来允许外部访问。我已按照本指南进行所有设置,并按预期工作: https://gist.github.com/rkaramandi/20a04
我正在使用 WinVerifyTrust 来验证文件签名。 互联网连接非常糟糕,所以我只想检查本地缓存。 问题是我不知道应该如何设置 WinTrustData 中的参数 关于 fdwRevocatio
我正在使用的引用书(Network Security with OpenSSL,由 Viega、Messier 和 Chandra 撰写)第 133 页指出: [...] an application
我们正在使用 Python 和 OpenSSL 读取 CRL 文件以提取已撤销证书序列号的列表。在解析文件之前,我们需要添加检查以验证 CRL 是否已使用受信任的证书导出。 在命令行中,适当的 Ope
我正在使用 python、pyopenssl 库来根据其 CA 验证 CRL。 我拥有的是: 我获得证书颁发机构: with open(ca_file_path) as ca_file_obj:
我有一个 CRL 和一个用作 CA 证书的自签名证书。我需要验证同一个 CA 是否同时颁发了 Java 中的 CRL 和根证书。我的想法是这样的: X500Principal rootCertIssu
我是一名优秀的程序员,十分优秀!