问题标签 [pkix]
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.
java - CertPathValidator 和 CertPathBuilder 之间的概念区别是什么?
我需要对给定的 X509 证书执行链验证和吊销检查。因此,我浏览了本指南,还探索了 CertPathValidator 和CertPathBuilder API 的 JavaDoc 以及github存储库中的示例。
毕竟,我有点困惑,因为我看不出CertPathValidator
和CertPathBuilder
类之间的明显区别。Java 文档说:
证书路径验证器
用于验证证书路径(也称为证书链)的类
证书路径生成器
用于构建证书路径(也称为证书链)的类。
这两个类都支持撤销检查和几乎相同的方法。所以我的问题是在哪些情况下应该使用每个类,什么是验证证书与建筑?
java - 我在哪里可以找到 Java 的 PKIXValidator 实现的源代码?
我想扩展证书验证算法,或将其模块化,以便我可以选择可以跳过哪些验证。我不想重新发明轮子,所以我希望我可以继承 Java Sun 的 PKIX 实现。
但是,我找不到源代码。显然它是一个引擎类,并且通过getInstance("PKIX")
. 我来找的关门PKIXValidator
在$JAVA_HOME\lib\src.zip\java.base\sun\security\validator\PKIXValidator
.
我觉得这不是正确的文件,因为该类本身具有以下方法:
由于这个类没有实现该validate()
方法,我假设有另一个文件实际上验证了证书。我指的不仅仅是签名,我指的是 KeyUsage、Extensions、正确的 Issuer/Subject、整个包。
所以,总结一下。我正在寻找检查正确的 KeyUsage、Subject 和 Issuer、Critical Extensions 等的实现。
java - Spring MVC 项目中的“缺少工件”和“无法读取工件描述符”错误
我在 Spring MVC 项目中收到多个“缺少工件”和“无法读取工件描述符”错误,例如:
Missing artifact com.google.guava:guava:jar:20.0
Failed to read artifact descriptor for com.brooksandrus:swfheader:jar:1.0
我想知道:
- 它们到底是什么意思
- 如何解决它们
我对这些错误的看法:
此外,我在公司防火墙后面运行项目的事实可能maven clean install
与以下错误的失败有关:PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
实际上,这是解决了在 cacerts 文件中安装每个所需证书的问题。
我已经尝试过的:
- 更新已选中强制更新快照的 Maven 项目。
- 删除整个 .m2 文件夹,然后尝试 maven 更新。
- 按照这个 SO 解决方案在cacerts文件中添加证书,然后重新运行前两个步骤。这实际上是我解决此错误
unable to find valid certification path to requested target
的方法,尽管它对我提到的“缺少工件”和“无法读取工件描述符”的主要问题没有帮助。
这些方法都没有对问题产生任何影响。
另一个重要的事实是,除了所有这些错误之外,Tomcat 成功启动并且项目运行正常。
这是 pom 文件的示例部分。
任何关于如何处理这个问题的想法都值得赞赏。
java - PKIX 路径构建失败:SunCertPathBuilderException:无法找到请求目标的有效证书路径
我正在使用 WSO2 API 管理器和 keycloak 服务器进行 API 网关和用户身份验证。两者都在 Openshift 3.11 上运行。在浏览器上,尝试重定向到 wso2 apim 上的商店页面时出现错误。此外,我正在为两个服务器使用使用 keytool 生成的自签名证书,并且它也分别导入到 JVM cacerts 中。开放的JDK版本是1.8。
我越来越致命 重新抛出 javax.net.ssl.SSLException: Received fatal alert: certificate_unknown in the ssl logs SSL Trace
java - 如何解决 PKIX 路径构建在 aws lambda 中失败
我正在创建 AWS Lambda,它将使用来自私有队列(在客户端服务器中)的数据。它需要添加一些受信任的证书。在本地,我执行了以下命令:
它工作正常。现在我已经在 aws 控制台中上传了我的 lambda 函数,我得到了同样的错误,如下所示:
谁能建议我如何在控制台中将受信任的证书添加到 aws lambda
java - Soap 客户端,TLS 1.2 连接 - PKIX 路径构建失败 - 尽管 cacerts 包含证书
我正在尝试在第一个连接阶段使用 TLS 连接作为 Soap 客户端连接到 3d 方 Web 服务。技术栈:Spring boot 2.2.2.RELEASE
,spring-ws-security 2.2.2.RELEASE
和httpclient 4.5.4
, wss4j 1.6.19
... 详述pom.xml
如下
这是我的 Spring Boot 配置文件
我的 SoapClient.java
和pom.xml
我已将所有证书添加到cacerts
文件中(对于:jdk 和 jre 文件夹)这是一个屏幕 - https://www.screencast.com/t/E5NpGSCR
我收到以下堆栈跟踪错误:
不明白为什么PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
?
jdk版本1.8.0_191
,也试过jdk 1.8.0_241
和jdk 13
maven版本3.6.0
java - Eclipse Marketplace ValidatorException (PKIX)
我最近在工作中搬到了一台新机器上。所以我下载了最新的 Java/Eclipse 和所有其他的东西。但是我需要下载两三个插件,问题是,我一直收到这个错误:
我看到这是一个常见的错误。但是没有找到在线发布的解决方案。你能帮忙吗?
java - 客户端 (X509) 认证的默认环境应该是什么
多年来,我一直在构建 Web 下载器(例如,使用 Apache HTTPClient 和最近的 JBrowser [1])。直到最近,当某些网站导致认证错误时,这些都可以正常工作。我不了解细节,也找不到简单的教程供那些对证书知之甚少的人(例如,证书的外观以及如何获得或创建)。这是对最简单情况以及如何修复它的默认解释的请求。典型错误:
我可以通过浏览器(Firefox、Chrome)访问 URL 并获取代表我想要的 HTML,但无法以编程方式访问它。
我已经阅读了几个关于如何解决此问题的说明(例如 [2]),但它们通常指的是“您的密钥库”或“信任管理器”,就好像每个人都知道它们是什么一样。我担心如果我不知道自己在做什么,我可能会破坏安全性。我不知道如何将站点添加到这些站点,或者是否应该添加站点。
我在 MACOSX 上,似乎有一个二进制文件
一些答案表明我应该有一个名为“truststore.jks”的文件,但没有说明它应该在哪里或它是如何创建的。
所以我要求对系统组件进行简单的解释以及修复它的最简单方法。在某些情况下,我可以避免它(例如,通过curl
从命令行使用),所以我不知道这在多大程度上是一个 Java (8) 问题。
编辑: Trust Store vs Key Store - 使用 keytool 创建似乎可以解释 KeyStore 和 TrustStore 之间的区别,但我仍然不知道该怎么做。
[1] http://machinepublishers.github.io/jBrowserDriver/com/machinepublishers/jbrowserdriver /JBrowserDriver.html [2]在 java 中使用自定义信任库以及默认信任库
ssl - 如何使用 teiid 中配置的 SSL 将 NIFI 连接到 Teiid 数据虚拟化?
我们正在运行一个使用 ssl 配置的 Teiid 12.3 服务器。我们可以使用 pentaho etl、squirrel sql client、Tableau 等工具连接这个 teiid 服务器。我们使用 trustore 文件连接这些工具。但是我们无法在 Apache NIfi 中连接 Teiid 服务器。我们尝试了以下方法来包含 trustore –</p>
在运行 nifi.bat 中添加 trustore
- 设置 JAVA_ARGS=
-Dorg.apache.nifi.bootstrap.config.log.dir=%NIFI_LOG_DIR%
-Dorg.apache.nifi.bootstrap.config.pid.dir=%NIFI_PID_DIR%
-Dorg.apache.nifi.bootstrap.config.file=%BOOTSTRAP_CONF_FILE%
-Djavax.net.ssl.trustStore=teiid-dummy.truststore
-Djavax.net.ssl.trustStorePassword=1234
- 设置 JAVA_ARGS=
创建一个
StandardSSLContextService
但我们不能在ExecuteSQL
或QueryDatabaseTableRecord
处理器中使用此服务在 teiid 连接 url 中添加了 trustore 详细信息 --
jdbc:teiid:VDB@mms://abc123.com:443;enableTLS=true;trustStorePath=E:/nifi-1.11.4-bin/nifi-1.11.4/bin/teiid_dummy.truststore;trustStorePassword=1234
- 错误:TEIID 200020 建立到主机和端口的套接字时出错。Sun.security.validator.validatorException:PKIX 路径构建失败:
也在下面的文件中配置了信任,但没有用给出同样的错误。
文件名:Nifi.properties
文件名:run_nifi.bat