我的问题是,是否可以仅使用 .cer 文件向安装了Tomcat 7的Windows Server添加SSL。
我有一个客户端在使用ISS的应用程序中使用SSL,并且每当您需要在ISS服务器上安装SSL时,仅安装以下 .cer
文件: Tomcat为此,我需要使用HTTPS保护该应用程序,我要求获得证书,然后将其发送给此.cer文件。
我已经尝试生成.JKS文件并将其以某种方式添加到Tomcat中,但没有成功。例如:
keytool -import -alias root -keystore example.jks -trustcacerts -file certificate.cer
由此,我生成了jks文件并将其映射到tomcat,碰巧它不起作用。我知道Tomcat设置很好,因为我进行了一次测试,使用genkey生成了文件,该文件返回了一个.keystore文件,并且可以正常工作。
编辑:
server.xml中的连接器:
<Connector
protocol="org.apache.coyote.http11.Http11NioProtocol"
port="443"
maxThreads="200"
scheme="https"
secure="true"
SSLEnabled="true"
keystoreFile="C:/path/example.jks"
keystorePass="password"
clientAuth="false"
sslProtocol="TLS"
keyAlias="root" />
我应该以其他格式请求此证书吗?
有人经历过这个吗,至少可以给我一些提示吗?
谢谢。
答案 0 :(得分:1)
要回答您的问题:单个CER文件通常不足以在Tomcat或任何其他Web- / Application-Server中正确配置HTTPS连接器。
不确定IIS中的配置方式,但您始终需要私钥/私钥才能使用SSL。
使用签名证书(非自签名)时的标准流程基本上是这样的:
生成私钥/秘钥
$ keytool -genkey -keystore tomcat.jks -alias tomcat -keyalg RSA -keystore tomcat.jks -dname "CN=<hostname>"
为此密钥生成证书签名请求
$ keytool -certreq -keystore tomcat.jks -alias tomcat -file tomcat.csr
此签名请求(CSR文件)已提交给签名机构,您将获得签名证书(CER文件)作为回报
$ keytool -gencert -keystore root-ca.jks -alias root -infile tomcat.csr -outfile tomcat.cer -rfc
此证书与签名授权机构的证书一起导入到您的密钥库中
$ keytool -import -keystore tomcat.jks -file my-root-ca.cer -trustcacerts -alias my-root-ca
$ keytool -importcert -keystore tomcat.jks -alias tomcat -file tomcat.cer
现在tomcat.jks
文件可以在Tomcat中用作HTTPS连接器的密钥库。
没有有关您的certificate.cer
文件包含在问题中的信息。要使用keytool检查内容,可以使用此命令
$ keytool -printcert -file certificate.cer
在上面的示例中,输出看起来像这样:
Owner: CN=<hostname>
Issuer: CN=My-Root-CA, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
Serial number: 222f266a
Valid from: Sat Aug 25 12:41:01 CEST 2018 until: Fri Nov 23 11:41:01 CET 2018
...
如果需要,也许您可以将输出添加到问题中以获得更多帮助。