从crt和key创建jks,然后配置Tomcat

tyky79it  于 2023-10-19  发布在  其他
关注(0)|答案(1)|浏览(154)

我从我的客户端收到了 .crt、.key和 *.ca-bundle文件,我的环境使用jre 7。
我需要创建 *.jks文件来配置Tomcat 7。
我读了这个Creating a .jks from a .crt and .key file, is that possible,但不幸的是,在这个命令结束后,

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" />

Thanks in advance

9ceoxa92

9ceoxa921#

正如@dave_thompson_085所说,问题是openssl版本。安装1.1.1版本后,jks正确创建。要使用在Tomcat中创建的jk,请使用以下配置

<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"/>

相关问题