问题标签 [jks]

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 投票
3 回答
5598 浏览

x509 - 尝试将没有密码的 pfx 转换为 jks 时出错

当我尝试将没有密码生成的 pfx 文件转换为 jks 时,我收到来自 keytool 的 WARNING WARNING 等消息,然后出现错误

当我对受密码保护的 pfx 执行相同操作时,一切都很好。

谁能建议我能做什么!?也许是从其他格式转换或使用其他工具?

附言。我也转换为 pem,并将 pem 转换为 jks,但它失败了,因为它不是 x509 证书。

编辑

0 投票
1 回答
1215 浏览

openssl - 如何将 jks 密钥库文件转换为 PEM 之类的文件?

我有一个 JKS 密钥库,其中包含一些由 CA 签名的证书。我想将此 jks 文件转换为 PCKS12,但是TrustedCertEntry无法使用 Java keytool 转换 s,因为它们不受支持。我如何将此 jks 文件转换为 PCKS12 ?

我已经在 SO 上寻找类似的问题,这就是我发现的:

将 CA 签名的 JKS 密钥库转换为 PEM

但是,这似乎对我不起作用,因为在这一步转换失败

由于这个错误

[...]PEM 例程:PEM_read_bio:无起始行:[...]

因为它似乎是加密的或类似的东西。

0 投票
4 回答
13662 浏览

java - 如何将证书文件添加/转换为 pkcs12 文件

我已收到三个证书(.CER 文件)来访问生产服务器。我将如何将这些证书添加/转换为 PKCS12 文件。

0 投票
1 回答
6238 浏览

java - 基于 cxf 的客户端中的 cacerts 与 jks

我正在尝试将基于 cxf 的客户端配置为与我编写的 Web 服务进行通信(也是基于 cxf 的)。

Web 服务本身可以完美运行,通过soapUI.

但是,客户端可以正常构建,但在调用时会引发 SunCertPathBuilderException

怀疑这与提供包含服务器证书的信任库的有效路径有关,并具有到受信任证书的有效证书链,我首先尝试将该服务器的证书导出到 PFX,以便我可以将其导入到项目自己的.jks. 事实证明这是不可能的,因为它需要导出实用程序 () 出于某种原因certmgr.msc灰显的私钥。

所以我尝试从另一个方向解决这个问题:我知道soapUI通过SSL与web服务通信没有问题,而且我没有为它安装任何证书,所以它必须满足根证书(CA)已经存在于其cacerts文件中。

但是......http:conduit我的基于 CXF 的应用程序上下文部分.xml需要 JKS 类型的密钥库......所以看起来我处于第 22 条情况。

除非cacerts文件是 JKS 类型?

如果没有,有没有办法将证书从 a 转换或导出cacerts到 a .jks

解决这个问题的正确方法是什么?

0 投票
1 回答
228 浏览

java - 在 tomcat 中更新证书

我在 Tomcat 6.x 中使用 https。它目前似乎按预期工作。但是,auth 链中使用的证书即将到期。我假设我需要更新我的密钥库,以便我的主机证书将继续像现在一样工作。我的主机证书没有过期,根也没有。中间证书即将到期,我正在寻求更换它的帮助。

第一次在我的密钥库中安装证书时,我必须完成身份验证链并将所有中间证书放在密钥库中。

在我看来,我认为我应该能够使用相同的别名从密钥库中删除中间证书并放入新证书。但是,我不知道如何重新创建身份验证链,而且我担心我可能会无意中使主机的证书无效。

所有证书都是 .cer 文件(base64 ascii 文本文件)。我读过其他格式,但只在我的服务器上使用带有 java 和 tomcat 版本的 .cer 文件类型取得了成功。

如何在不破坏主机和/或其密钥库的当前有效证书的情况下执行此操作。

如果我没有清楚地表达这些;我不想提交新的 .csr。

涉及证书:

  • 根证书
  • 中级A <--这个即将到期
  • 中级乙
  • 主机证书

我的 keytool 的 list 命令的输出近似值:

0 投票
3 回答
8481 浏览

java - 以编程方式访问 java 密钥库以创建 SSLSocketFactory

我正在与启用 ssl 的服务器建立 SSL 连接。我的硬件文件系统 java 密钥库中有一个 cacerts 文件,我使用 keytool 从中提取了证书,我正在提供此证书文件以创建 SSLSocketfactory 以建立 ssl 连接,它适用于下面的代码片段。

我想知道如何直接访问 cacerts ( java keystore ) 文件,然后选择证书并建立 ssl 连接。现在,我正在使用我的 jar 文件将提取的证书打包到类路径中,这不是一个好习惯,因为我希望它从密钥库中加载。

下面是我当前如何创建 SSLSocketFactory 的工作代码片段。

0 投票
0 回答
1124 浏览

ssl - JKS 的 SSL 握手失败

我有这种奇怪的情况,我无法理解可能是什么问题。我有一个客户端证书和私钥,并试图访问他们的 WSDL。我在 ca certs 中添加了根证书,在我的自定义 truststore.jks 中也有它。我收到PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target了通过在 jvm 的 cacerts 中添加根证书解决的错误。

我使用 Keytool 创建了一个带有客户端证书和私钥的 JKS,将 cert+key 转换为 PKCS12 格式,然后将 p12 导入 JKS。

但我得到SSLHandshakeException

我使用 openssl s_connect 验证了证书和密钥是否正常,并将证书和密钥作为参数传递。它连接良好。

有人可以帮我找到解决方案吗?我在应用程序的 java 参数中启用了 SSL 调试,但我没有得到任何调试信息,这可能是应用程序本身的日志记录问题。

0 投票
1 回答
441 浏览

java - issue while migrating application from ibm jdk 6 to oracle jdk7

I am migrating my application from ibm jdk 1.6+geronimo server to oracle jdk1.7+jboss.

I have a working version of jks configuration in previous version which is not working in new configuration.

I am loading jks file like:

But this is not working. I am getting below error:

I verified the path of jks is correct. Do I need to create new jks depending on new jdk?

please help.

0 投票
2 回答
16473 浏览

classpath - 无法从类路径加载 jks 文件

我创建了一个带有公共和私有 RSA 密钥的 JKS 文件。当我使用外部路径(如 c:/file.jks)加载此文件时,程序的执行就像一个魅力。但是,如果我尝试从类路径加载相同的文件,我得到了这个异常:

这是用于加载 jks 的代码:

唯一的区别是我在外部加载时使用带有完整路径的 FileInputStream。我做错了什么?

0 投票
2 回答
526 浏览

java - TrustStore and Keystore during 2 way SSL validation

I have been unable to find a solution to this problem elsewhere so I am hoping someone here can provide some insight. My setup below:

keystore, myKeys.jks:

trust store, myTrust.jks:

What ends up happening is I get a message stating that my client has not been authenticated. Let me know if there is more information necessary

Responses to questions:

Apache HTTP Client, code below:

Secondly: how exactly are you registering the keystore/truststore? You need a custom SSLContext for this.

Don't think so, but could be wrong