0

我开发了一个应用程序并上传到我的域。主机为我提供了一个通配符证书以供使用,因此我尝试将其添加到我的应用程序中。我不知道我是否在做正确的步骤或什么。

所以,这就是我所做的:

  • 我下载了证书 ( last.cer)
  • 我从该证书创建了一个密钥库:

在此处输入图像描述

  • 那创造了last.p12,我投入了resources/keystore/

这是我的配置:

在此处输入图像描述

密钥密码是我为了下载证书而放入主机提供商的密码。

我还添加了ServletWebServerFactory.

当我启动应用程序时,我得到了这个:

Caused by: org.apache.catalina.LifecycleException: Protocol handler start failed
    at org.apache.catalina.connector.Connector.startInternal(Connector.java:1038) ~[tomcat-embed-core-9.0.31.jar:9.0.31]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.31.jar:9.0.31]
    at org.apache.catalina.core.StandardService.addConnector(StandardService.java:227) ~[tomcat-embed-core-9.0.31.jar:9.0.31]
    ... 17 common frames omitted
Caused by: java.lang.IllegalArgumentException: jsse.alias_no_key_entry

但是这两个地方的别名都是“carlos”。

4

1 回答 1

2

你需要私钥。(但不是饼干:)

主要是欺骗如何解决:jno_key_entry如何解决:java.io.IOException: jsse.alias_no_key_entry,除非您不承认拥有私钥。

如果主机“提供”证书以响应您的请求 - 特别是如果您创建了证书签名请求 (CSR) - 那么您必须拥有私钥;用它。如果“主机”或可能的 CA 或其他人为您创建了此身份,请从他们那里获取私钥。根据您拥有或获得的形式,使用它的方法可能会有所不同。


此外,在 Windows 下编写/修改文件Program Files (x86)是一个坏主意。这些更改可能会彻底失败或消失。自 1990 年代以来,Microsoft 已正式声明不应修改 %PROGRAMFILES*% 目录中的文件,并且数据应位于(现在称为)%PROGRAMDATA% %USERPROFILE% 或 %ALLUSERSPROFILE% 下(视情况而定)。病毒和恶意软件通常通过非法修改 %PROGRAMFILES*% 来工作,因此最近的 Windows 版本——至少 8 和 10 以及服务器版本,我不记得大约 7——以及防病毒和其他安全产品更积极地禁止或放弃更改这些文件的尝试。因为你实际上想要这个文件在别处——在你的服务器应用程序目录(或jar?你不清楚)——只要把它写在那里开始。

于 2020-09-10T05:34:57.890 回答