提问人:Andrea P. 提问时间:10/18/2023 最后编辑:Andrea P. 更新时间:10/20/2023 访问量:59
从 crt 和 key 创建 jks,然后配置 Tomcat
Create jks from crt and key and than configure Tomcat
问:
我从我的客户端收到了 *.crt、*.key 和 *.ca-bundle 文件,我的环境使用 jre7。
我需要创建 *.jks 文件来配置 Tomcat7。
我读到了这个从 .crt 和 .key 文件创建一个 .jks,这是可能的,但不幸的是,在这个命令之后的最后
C:\Program Files\Java\jre7\bin>keytool -importkeystore -srckeystore C:\keystore\mykey.pfx -srcstoretype pkcs12 -srcalias 1 -srcstorepass mypass -destkeystore C:\keystore\local.jks -deststoretype jks -deststorepass mypass -destalias myAlias
我收到错误
keytool error: java.io.IOException: parseAlgParameters failed: DER input not an octet string
如何生成jks文件并避免该错误?
生成 jks 文件后,我将它移动到 ${TOMCAT_HOME}\conf 文件夹中。
此 Tomcat 配置是否正确?
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="200" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLSv1.2" keystoreFile="conf\local.jks" keystorePass="mypass" sslEnabledProtocols="TLSv1.2" />
提前致谢
答:
0赞
Andrea P.
10/18/2023
#1
正如@dave_thompson_085所说,问题是openssl版本。 我安装了 1.1.1 版本,然后正确创建了 jks。
要使用在 Tomcat 中创建的 jks,请使用以下配置
<Connector SSLEnabled="true" clientAuth="false" keyAlias="myalias" keystoreFile="conf\myalias.jks"
keystorePass="mypassword " keystoreType="JKS" maxThreads="200" port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
scheme="https" secure="true" sslProtocol="TLS"/>
评论
-legacy
openssl pkcs12 -export
-legacy -descert
-descert
-keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -macalg SHA1