java.io.IOException的:使用Tomcat服务器无效的密钥库格式(java.io.I

2019-09-16 10:42发布

启用S​​SL模式下的Tomcat 7,我得到我的tomcat日志下面的错误

我已经使用genrated的OpenSSL像下面.key文件

openssl genrsa -des3 -out localhost 2048

我给出的路径在Tomcat中的server.xml我的密钥文件

重度:无法初始化具有ProtocolHandler [“HTTP的生物8443”] java.io.IOException的相关联的终点:无效密钥库格式

Answer 1:

openssl genrsa -des3 -out localhost 2048产生的私钥。 你需要运行使用HTTPS Web服务器什么是私有密钥和证书。 你需要一个步骤生成证书。

您可以根据您是否正在使用的APR连接器或不使用2种几乎完全不同的方法,在Tomcat的配置HTTPS。

如果您使用的APR连接器 ,是有意义的使用OpenSSL生成密钥/证书,因为这是它期望的格式。 (有一些教程,产生与OpenSSL的自签名证书,如果自签名证书即可为您的环境中。)

如果你不使用APR ,你就必须使用OpenSSL生成的密钥/证书转换成你的JRE支持的密钥库格式。 从OpenSSL的未来,将你的私钥+证书为PKCS#12店( .p12 )通常是最简单的:这是直接通过Oracle / OpenJDK的与支持PKCS12密钥库类型。 (您可以将您的PKCS#12文件转换为JKS店,但是这是没有必要的。)

但是,如果你没有任何按键/证书呢,来生成一个Tomcat的自签名证书的最简单的方法是使用keytool直接。 这将产生一个JKS密钥库,这是默认的类型。 keytool -genkey不仅生成一个密钥/对,并足以产生一个CSR,但它相关联的自签名证书(至少是暂时,直到您导入证书从CA未来如有必要)。



Answer 2:

基于Java的系统,包括Tomcat的,需要在PKCS格式存储。 所以,首先你需要正确地建立自己的商店,然后按照向导的Tomcat配置Tomcat来使用它们。 您的商店格式和配置似乎并不正确。



文章来源: java.io.IOException: Invalid keystore format using Tomcat server