相关疑难解决方法(0)

如何在Java密钥库中导入现有的x509证书和私钥以在SSL中使用?

我在activemq配置中有这个

<sslContext>
        <sslContext keyStore="file:/home/alex/work/amq/broker.ks"  
 keyStorePassword="password" trustStore="file:${activemq.base}/conf/broker.ts" 
 trustStorePassword="password"/>
</sslContext>
Run Code Online (Sandbox Code Playgroud)

我有一对x509证书和一个密钥文件

如何导入这两个用于ssl和ssl + stomp连接器?我可以谷歌的所有例子总是自己生成密钥,但我已经有了密钥.

我试过了

keytool -import  -keystore ./broker.ks -file mycert.crt
Run Code Online (Sandbox Code Playgroud)

但这只导入证书而不是密钥文件并导致结果

__CODE__

我尝试连接证书和密钥但得到了相同的结果

如何导入密钥?

java ssl activemq-classic jms jks

218
推荐指数
11
解决办法
40万
查看次数

在Java KeyStore中导入私钥/公钥证书对

我使用以下步骤创建一个新的Java密钥库,其中包含一对私有/公共密钥,供Java(内部)服务器使用TLS.请注意证书是自签名的:

1)使用AES256生成密钥

openssl genrsa -aes256 -out server.key 1024
Run Code Online (Sandbox Code Playgroud)

2)为CA生成证书请求

openssl req -x509 -sha256 -new -key server.key -out server.csr
Run Code Online (Sandbox Code Playgroud)

3)生成自签名到期时间10年

openssl x509 -sha256 -days 3652 -in server.csr -signkey server.key -out selfsigned.crt
Run Code Online (Sandbox Code Playgroud)

4)使用像KeyStoreExplorer这样的程序在新的JKS中导入对(私钥和自签名证书)

这有效,但我想在不使用GUI的情况下实现最后一步.

我知道如何仅导入自签名证书:

// create the keystore and import the public key. THIS WILL NOT IMPORT THE PRIVATE KEY SO THE KEYSTORE CAN'T BE USED ON THE SERVER TO MAKE THE TLS CONNECTION
/usr/java/jdk1.6.0_45/bin/keytool -import -alias myservercert -file server.crt -keystore mykeystore.jks
Run Code Online (Sandbox Code Playgroud)

所以问题是:我如何创建Java KeyStore并使用公钥和私钥导入证书而不使用GUI?

java ssl keytool x509certificate

72
推荐指数
1
解决办法
19万
查看次数

如何从现有证书(abc.crt)和abc.key文件创建密钥库?

我试图将证书和密钥文件导入密钥库,但我无法做到这一点.

如何通过导入现有证书(abc.crt)和abc.key文件来创建密钥库?

ssl keytool

62
推荐指数
4
解决办法
11万
查看次数

将证书从pem转换为jks

我必须将pem格式的证书转换为java密钥库.

在Windows服务器上使用这个tomcat

我有这些文件:

我试图结合pem文件(通过将两个文件组合在一起链接在一起)并将其与openssl转换成一个

  • .der文件并使用keytool将其导入新的密钥库
  • 与.p12相同
  • 直接导入到密钥库

我也试着改变了

    -----BEGIN ENCRYPTED PRIVATE KEY-----
    ...
    -----END ENCRYPTED PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)

    -----BEGIN RSA PRIVATE KEY-----
    ...
    -----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)

并尝试了以上3种方式

我有什么办法可以获得工作证书?

编辑:

我将cert_public_key.pem和cert_private_key.pem组合到cert_comb.pem

    -----BEGIN CERTIFICATE-----
    ...
    -----END CERTIFICATE-----
    -----BEGIN ENCRYPTED PRIVATE KEY-----
    ...
    -----END ENCRYPTED PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)

java ssl certificate jks pem

10
推荐指数
1
解决办法
4万
查看次数

使用自定义 X509KeyManager Java 时无法确定 SSL 握手的匹配密码套件

我正在使用 Java7 和 JAX-WS 2.2。

对于 SOAP Web 服务,我需要创建一个自定义X509KeyManager,以便为 JKS 密钥库中的每个连接客户端找到正确的证书。

但是,我已经在努力让我的自定义密钥管理器运行。到目前为止,我使用的是默认的(从初始化的 中检索KeyManagerFactory)并且它基本上可以工作 - 但当然它没有选择正确的证书。所以第一个想法是创建一个自定义X509KeyManager来保存原始密钥管理器,只写出一些日志消息,但通常使用默认行为。

出于某种原因,这根本不起作用。无法建立 SSL 握手。在ClientHello 之后,日志显示以下错误:

Allow unsafe renegotiation: false
Allow legacy hello messages: true
Is initial handshake: true
Is secure renegotiation: false
Thread-3, READ: TLSv1 Handshake, length = 149
*** ClientHello, TLSv1
RandomCookie:  GMT: 1476877930 bytes = { 207, 226, 8, 128, 40, 207, 47, 180, 146, 211, 157, 64, 239, 13, 201, 92, 158, 111, 108, 44, …
Run Code Online (Sandbox Code Playgroud)

java ssl soap jax-ws

0
推荐指数
1
解决办法
5034
查看次数

标签 统计

ssl ×5

java ×4

jks ×2

keytool ×2

activemq-classic ×1

certificate ×1

jax-ws ×1

jms ×1

pem ×1

soap ×1

x509certificate ×1