我在ActiveMQ配置中有这个:

<sslContext>
        <sslContext keyStore="file:/home/alex/work/amq/broker.ks"  
 keyStorePassword="password" trustStore="file:${activemq.base}/conf/broker.ts" 
 trustStorePassword="password"/>
</sslContext>

我有一对X.509证书和一个密钥文件.

如何导入这两个,以便在SSL和SSL+stomp连接器中使用它们?所有的例子我都可以谷歌自己生成密钥,但我已经有了一个密钥.

我试过了

keytool -import  -keystore ./broker.ks -file mycert.crt

但这只导入证书,而不导入密钥文件,并导致

2009-05-25 13:16:24,270 [localhost:61612] ERROR TransportConnector - Could not accept connection : No available certificate or key corresponds to the SSL cipher suites which are enabled.

我试过了 concatenating the cert and the key but got the same result.

如何导入密钥?

推荐答案

信不信由你,keytool不提供像将私钥导入密钥库这样的基本功能.您可以try 将PKSC12文件与私钥合并到密钥库:

keytool -importkeystore \
  -deststorepass storepassword \
  -destkeypass keypassword \
  -destkeystore my-keystore.jks \
  -srckeystore cert-and-key.p12 \
  -srcstoretype PKCS12 \
  -srcstorepass p12password \
  -alias 1

或者使用IBM提供的更为用户友好的KeyMan来处理密钥库,而不是使用keytool.

Java相关问答推荐

将带有js文件的 bootstrap 程序导入maven项目时出错

Javadoc在方法摘要中省略方法

如何为JavaFX Spring Boot应用程序制作Windows/MacOS/Linux安装程序

由于在生成器模式中使用泛型,lambda表达式中的返回类型错误

如何在我的世界中为互动增加冷却时间?

为什么有两种实现来检索数组类的组件类型?

记录是类的语法糖吗?

根据应用程序 Select 的语言检索数据

为什么使用lo索引来解决二进制搜索问题不同于使用hi索引?

H2数据库仅支持%1个结果集?

从字节数组切换到JakartaMail org.springframework.mail.javamail.JavaMailSender InputStreamResource

Java中的一个错误';s stdlib SocksSocketImpl?

验证没有';t work on Hibernate Entity';s字段

如何以事务方式向ibmmq发送消息

为什么当我输入变量而不是直接输入字符串时,我的方法不起作用?

如何将表示特殊字符的字符串转换为其字符表示形式

如何将具有重复的扁平 struct 转变为嵌套 struct ?

如何将 mysql 身份验证从 mysql_native_password 迁移到 caching_sha2_password?

如何隐藏提供公共静态工厂方法的 Java 记录上的构造函数?

使整数始终保持在 0 - 100 之间