- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我从我的 java 代码中得到这个奇怪的错误:
java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
我用来生成 keystore 的命令:keytool -genkey -alias tomcat -keystore keystore.jks
这是我的java代码:
import java.security.cert.PKIXParameters;
import java.security.KeyStore;
import java.io.FileInputStream;
public class MyKeyTest {
public static void main(String[] args) throws Exception {
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
String password = "mypass";
ks.load(new FileInputStream("keystore.jks"), password.toCharArray());
new PKIXParameters(ks);
}
}
我试着用谷歌搜索这个错误,但大多数情况下它说当找不到 keystore 或不允许读取时会发生这种情况。
但这两种情况都不是我的情况。有什么想法吗?
最佳答案
一些简短和简化的背景只是为了防止不清楚。 PKIXParameters 对象用于客户端证书验证。这是您允许或禁止访问您的 Web 资源的一种方式。这通常的工作方式是
keystore.jks 文件是您的信任库。您的信任库当前不包含任何证书(只是一个无用的私钥)。要添加 ca 证书,您可以使用此命令
keytool -import -alias <an alias for the CA cert> -file <the trusted CA cert> -keystore <your keystore>
例如,将 CA 证书从您的浏览器导出到一个文件,然后将其导入您的信任库
在命令提示符下运行以下命令
keytool -import -alias msroot -file msroot.cer -keystore keystore.jks
现在,当您使用这个更新的 keystore.jks 运行您的 java 代码时,它应该运行得很好。
关于java - 无效算法参数异常 : the trustAnchors parameter must be non-empty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23882447/
我正在尝试验证我自己生成的证书链,我似乎得到了正确的结果,但我不确定我是否以正确的方式进行验证。 假设我有一个 Intermediate -> Intermediate -> Leaf 链。我不关心根
这个问题在这里已经有了答案: Error - trustAnchors parameter must be non-empty (46 个答案) 关闭 5 年前。
trustAnchors 参数必须为非空 我试图在一周内找到这个异常的解决方案,但我找不到。 我正在运行 JBoss 7.0.13(我们称之为 APP-SV|app.my.site.com),我需要的
我一直在尝试使用 RESTful 服务将文件发送到远程服务器。我得到的只是意外错误:java.security.InvalidAlgorithmParameterException the trust
我正在尝试在 Jenkins/Hudson 上配置我的电子邮件,但我经常收到错误: java.security.InvalidAlgorithmParameterException: the trus
我尝试在 Jenkins/Hudson 上配置我的电子邮件,但不断收到错误: java.security.InvalidAlgorithmParameterException: the trustAn
我正在尝试在 Jenkins/Hudson 上配置我的电子邮件,但我经常收到错误: java.security.InvalidAlgorithmParameterException: the trus
我正在尝试在 Jenkins/Hudson 上配置我的电子邮件,但我经常收到错误: java.security.InvalidAlgorithmParameterException: the trus
我正在尝试在 Jenkins/Hudson 上配置我的电子邮件,但我经常收到错误: java.security.InvalidAlgorithmParameterException: the trus
我正在尝试在 Jenkins/Hudson 上配置我的电子邮件,但我经常收到错误: java.security.InvalidAlgorithmParameterException: the trus
我正在尝试在 Jenkins/Hudson 上配置我的电子邮件,但我经常收到错误: java.security.InvalidAlgorithmParameterException: the trus
我正在尝试在 Jenkins/Hudson 上配置我的电子邮件,但我经常收到错误: java.security.InvalidAlgorithmParameterException: the trus
我正在尝试在 Jenkins/Hudson 上配置我的电子邮件,但我不断收到错误消息: java.security.InvalidAlgorithmParameterException: the tr
我正在尝试与远程服务器建立安全通信,不幸的是,远程服务器是由他们自己的证书颁发机构签署的。我在这里阅读官方 android 文档:https://developer.android.com/train
我知道这个问题并没有出现很多 stackoverflow,异常(exception)是与丢失的信任库有关 - 但这是我的问题: 在装有 Java 8.0.71 的 Windows 上使用 Apache
我正在尝试与远程服务器建立安全通信,不幸的是,它是自签名的。我在这里阅读官方 android 文档:https://developer.android.com/training/articles/se
我正在尝试通过与服务器的 https 连接验证我的 android 应用程序。 我在尝试进行身份验证时收到以下异常。在查找解决方案时,有很多关于将证书与 apk 绑定(bind)、忽略证书验证等的建议
我正在尝试为我的客户端/服务器应用程序(使用 Netty 库以 Java 编写)创建一个自签名服务器证书。据我了解,我必须创建一个 CA keystore 和一个服务器 keystore ,使用 CA
我正在尝试使用 Railo 3.3 发出 CFHTTP 调用(通过 SSL)并收到以下错误: Unknown host: java.lang.RuntimeException: Unexpected
在有人关闭问题或将其标记为重复之前,我必须说我一直在研究整个互联网,但找不到任何类似的问题。 问题是我在 Virtual Box 镜像中安装了全新的 Linux Mint 19。因此,在安装 Java
我是一名优秀的程序员,十分优秀!