ssl - apache tomcat 无法加载证书密钥
问题描述
我正在尝试https
使用apache 9.0.36
. 我买了一个域名,我有
lohgoda.crt
- 证书lohgoda.p7b
- 证书密钥lohgoda.ca-bundle
- 不知道
因为我从 namecheap.com 购买了 ssl 证书,所以我已经准备好让它工作了。我已经使用这个命令创建了一个密钥库
keytool -genkey -alias tomcat -keyalg RSA -keystore keystore.jks -keysize 2048
,然后使用这个命令信任了证书,keytool -import -trustcacerts -alias tomcat -file lohgoda.p7b -keystore keystore.jks
并且 tomcat 抛出了这个错误。
java.lang.Exception: Unable to load certificate key C:\apache-tomcat-9.0.36\lohgoda.p7b (error:0909006C:PEM routines:get_name:no start line)
服务器.xml
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector protocol="org.apache.coyote.http11.Http11AprProtocol" port="8443" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" SSLCertificateFile="lohgoda.crt" SSLCertificateChainFile="lohgoda.ca-bundle" SSLCertificateKeyFile="lohgoda.p7b" SSLVerifyClient="optional" SSLProtocol="TLSv1.1+TLSv1.2" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase" />
</Realm>
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
</Service>
如果我使用此命令将 lohgoda.p7b 转换为 lohgoda.pem,则会
openssl pkcs7 -print_certs -in lohgoda.p7b -out lohgoda.pem
出现相同的错误。
解决方案
推荐阅读
- api - 在 heroku handleError() 中的 laravel 7 免费托管
- mysql - 如何在mysql的分号分隔列中搜索特定值
- sql - SQL - 连接两个表或在一列中生成序列
- javascript - 使用 React 的 useContext 理解 Typescript Record 类型
- azure - 无法使用 FSharp.Core 对程序集进行 AOT
- r - 如何计算任意两个给定值在 R 中连续出现的次数?
- python - 作为 Python 中 sklearn 管道的一部分,将 base_margin 传递给 xgboost 模型
- dynamic - 需要从 Kakfa 主题消费并动态提供 cron 表达式(从 kafka 主题接收)到quartz2
- filter - Power BI - 显示符合条件的最新行/总和为 N
- arrays - 如何将矩阵存储在C中的数组中?