【发布时间】:2018-08-01 18:57:24
【问题描述】:
我正在努力为 SSL 配置 Tomcat,如果有任何帮助,我将不胜感激。出于我的目的,我需要创建一个根证书和一个由根证书签名的服务器证书。
为了帮助我理解,我将其分为两个步骤:使用 openssl 创建证书,以及将证书导入 Tomcat 的密钥库。这是我使用 openssl 和 keystore 命令的步骤顺序。
-- Create certficates --
1. Create CA key in private directory:
openssl genrsa -out CA.key 4096
2. Create CA PEM request using CN <Root Name> and CA key:
openssl req -key ../private/CA.key -new -out CA.req
3. Create CA PEM using Create CA PEM request:
openssl x509 -req -days 365 -in CA.req -signkey ../private/CA.key -sha256 -out CA.pem
4. Create server key (encrypted with password):
openssl genrsa -des3 -out server.key 4096
5. Create server PEM request using CN <FQDN of Server>:
openssl req -new -key server.key -out server.req
6. Create server PEM using Create server PEM request:
openssl x509 -req -days 3650 -in server.req -signkey ../private/CA.key -out server.pem
7. Export CA certificate as PKCS12 file (possibly not necessary):
openssl pkcs12 -export -inkey ../private/CA.key -in CA.pem -out CA.p12
8. Export server certificate as PKCS12 file:
openssl pkcs12 -export -inkey ../private/CA.key -in server.pem -out server.p12
-- Install certificates --
9. Add CA PEM to server keystore:
keytool -import -trustcacerts -alias root -file CA.pem -keystore keystore.jks
10. Add server PKCS12 to client keystore:
keytool -import -alias server -file server.p12 -keystore KeyStore.jks
在最后一个命令中,我收到以下错误消息:
keytool error: java.lang.Exception: Input not an X.509 certificate
我不完全理解 PEM 和 PKCS12 格式之间的关系,以及为什么我需要导入 PEM 格式的根证书和 PKCS12 格式的服务器证书 - 也许这就是我出错的地方?
感谢您的帮助。
【问题讨论】:
标签: java ssl tomcat7 x509 keytool