使用keytool生成ssl密钥文件keystore和truststore


最近在做Mina的开发,通信的时候需要数据加密,而且mina本身支持SSLFilter过滤器,所以可以采用SSL加密的方式对数据进行加密。


在进行加密之前,我们需要使用keytool(这个存在于C:\Program Files\Java\jdk1.7.0_65\bin目录下)产生创建keystore和truststore文件。接下来我会为你介绍生成密钥的方法。


1.打开cmd命令提示符(一定要以管理员身份运行,否则会出现keytool 错误: java.io.FileNotFoundException: MyAndroidKey.keystore (拒绝访问).的错误),转到keytool所在路径 下,我的是在C:\Program Files\Java\jdk1.7.0_65\bin;



2.输入:
keytool -genkeypair -alias certificatekey -keyalg RSA -validity 7 -	keystore keystore.jks 

然后输入密码(123456),确认密码这个密码一定要记住。最后输入以下的信息,如下图:




3.导出凭证文件 

<span style="white-space:pre">	</span>keytool -export -alias certificatekey -keystore keystore.jks -rfc -file selfcert.cer 	

这时会让你输入刚才的密码(我的是:123456),然后它会提示你保存到了selfcert.cer 文件中,在jd k/bin目录下我们可以找到这个文件。结果如下图:




4.将凭证文件 导入到truststore文件 




5.到此为止使用keytool创建keystore和truststore的工作已经完成了,接下来你可以在jdk/bin目录下找到 我们所需要的keystore.jks和truststore.jks文件



PS:在接下来的几天内,我会更新Mina高性能网络的开发,有兴趣的同学可以关注一下。



  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Docker 中为 Kafka 配置 SSL,您需要执行以下步骤: 1. 生成 SSL 证书和密钥 您可以使用 OpenSSL 命令生成自签名证书和密钥。以下是一个示例命令: ``` openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj "/CN=localhost" -keyout server.key -out server.crt ``` 此命令将生成一个名为 server.crt 的自签名证书和一个名为 server.key 的 RSA 密钥。 2. 创建 Kafka 配置文件 创建一个名为 kafka_server_ssl.properties 的文件,其中包含以下内容: ``` listeners=SSL://:9093 ssl.keystore.location=/path/to/keystore.jks ssl.keystore.password=keystore_password ssl.key.password=key_password ssl.truststore.location=/path/to/truststore.jks ssl.truststore.password=truststore_password ``` 在这里,您需要将 keystore.jks 和 truststore.jks 文件的路径以及密码替换为您自己的值。ssl.key.password 应该与 keystore 的密码相同。 3. 创建 keystore 和 truststore 文件 使用 keytool 命令为 Kafka 创建 keystore 和 truststore 文件。以下是一个示例命令: ``` keytool -genkey -alias server -validity 365 -keystore /path/to/keystore.jks -storepass keystore_password -keypass key_password -keyalg RSA -keysize 4096 -ext SAN=dns:localhost ``` 该命令将生成一个名为 keystore.jkskeystore 文件。接下来,使用以下命令创建 truststore 文件: ``` keytool -keystore /path/to/truststore.jks -alias CARoot -import -file server.crt -storepass truststore_password ``` 此命令将生成一个名为 truststore.jks 的 truststore 文件。 4. 启动 Kafka 容器 启动 Kafka 容器时,您需要将 kafka_server_ssl.properties 文件挂载到容器中,并将 SSL 证书和密钥文件复制到容器中。以下是一个示例命令: ``` docker run -d \ --name kafka \ -p 9093:9093 \ -v /path/to/kafka_server_ssl.properties:/etc/kafka/server.properties \ -v /path/to/keystore.jks:/etc/kafka/secrets/keystore.jks \ -v /path/to/truststore.jks:/etc/kafka/secrets/truststore.jks \ -v /path/to/server.key:/etc/kafka/secrets/server.key \ -v /path/to/server.crt:/etc/kafka/secrets/server.crt \ confluentinc/cp-kafka:latest ``` 请注意,您需要使用生成 SSL 证书和密钥文件的主机相同的主机名(例如 localhost)连接到 Kafka 代理。 这些是在 Docker 中为 Kafka 配置 SSL 的基本步骤。您可以按照这些步骤进行操作,将其应用于您自己的环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值