java - 如何在 Java 中导入 openssl 生成的证书?

标签 java ssl openssl ssl-certificate

我是这样通过openssl创建证书的

Openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt -subj "/CN=nginxsvc/O=nginxsvc"

现在我想将此证书导入客户端计算机 Java。如何导入此证书?使用 keytool 导入证书是正确的方法吗?

最佳答案

我找到了解决方案,因为我的虚拟机没有 DNS 名称,所以在生成证书时,如果您使用了 DNS 名称,请使用带 IP 地址的命令。

Openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt -subj "/CN=135.250.138.150/O=135.250.138.150"

现在在客户端机器上使用这个命令

keytool -import -file C:\Code_Base\Certificates\NGINX_150\tls.crt -storepass changeit -keystore "C:\Program Files\Java\jdk1.8.0_152\jre\lib\security\cacerts" alias 135.250.138.150

keytool -import -file <Your .crt file location> -storepass changeit -keystore <Java cacerts file location> alias <Ip address of machine or DNS>

关于java - 如何在 Java 中导入 openssl 生成的证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48495076/

相关文章:

java - Apache POI 解析错误

java - 通过 Servlet 提供文件的方法

c++ - QT C++ - OpenSSL AES - EVP.h

ssl - 为域和子域创建自签名证书 - NET::ERR_CERT_COMMON_NAME_INVALID

c - OpenSSL 无法在后端加载证书

java - 为什么我的多头变成了整数?

java - RxJava 调度程序始终与 sleep 在同一线程中工作

java - 在 SSL 握手中接受任何客户端证书

java - SSL 套接字连接 : CFNetwork SSLHandshake failed (-9824) connecting to Java SSLServerSocket

php - 使用 SSL 的流式套接字