在Tomcat 7中启用ssl模式时,我的tomcat日志出现以下错误
我使用openssl生成了.key文件,如下所示
openssl genrsa -des3 -out localhost 2048
我在tomcat server.xml中给出了我的密钥文件的路径
严重:无法初始化与ProtocolHandler关联的终点 [“http-bio-8443”] java.io.IOException:无效的密钥库格式
答案 0 :(得分:2)
openssl genrsa -des3 -out localhost 2048
生成私钥。使用HTTPS运行Web服务器所需的是私钥和证书。您需要一个步骤来生成证书。
您可以使用两种几乎完全不同的方法在Tomcat中配置HTTPS,具体取决于您是否使用APR连接器。
如果你正在使用APR connector,那么使用OpenSSL生成密钥/证书是有意义的,因为它是它所期望的格式。 (如果自签名证书足以满足您的环境,有许多教程可以使用OpenSSL生成自签名证书。)
If you're not using APR,您必须将使用OpenSSL生成的密钥/证书转换为JRE支持的密钥库格式。来自OpenSSL,将您的私钥+证书转换为PKCS#12存储(.p12
)通常是最简单的:直接通过具有PKCS12
密钥库类型的Oracle / OpenJDK支持。 (您可以将PKCS#12文件转换为JKS存储,但这不是必需的。)
但是,如果您还没有任何密钥/证书,为Tomcat生成自签名证书的最简单方法是直接使用keytool
。这将生成JKS
密钥库,这是默认类型。 keytool -genkey
不仅会生成密钥/对,而且足以生成CSR,但它会关联自签名证书(至少是暂时的,直到您根据需要导入来自CA的证书)。
答案 1 :(得分:-2)
基于Java的系统(包括tomcat)需要PKCS格式的存储。因此,首先需要正确构建存储,然后按照tomcat指南配置tomcat以使用它们。您的商店格式和配置似乎不正确。