在 Windows 上安装 Ejbca 时 'c:\ejbca\p12\truststore.jks' 中缺少 JKS truststorestore 文件

Missing JKS truststorestore file in 'c:\ejbca\p12\truststore.jks' while installing Ejbca on Windows

我正在 Windows 上安装 EJBCA。
OS 版本:Windows 服务器 2016
Java:OpenJDK 8.0.242.08 蚂蚁:蚂蚁 1.9.14
数据库:MariaDB 10.4.12
服务器:Wildfly 10.1.0
EJBCA 版本:6.15.2

使用此 https://doc.primekey.com/ejbca6152/ejbca-installations/ejbca-main-installation 手册进行安装。

不幸的是,在命令 ant deploy-keystore 上提供了这个错误:

jee:deploytruststore:

BUILD FAILED
c:\ejbca\build.xml:844: The following error occurred while executing this line:
c:\ejbca\bin\jboss.xml:310: The following error occurred while executing this line:
c:\ejbca\bin\jboss.xml:294: Missing JKS truststorestore file in 'c:\ejbca/p12/truststore.jks'

它有一个相应的错误(我认为它们是相关的):

ejbca:javatruststore:
    [input] skipping input as property ca.name has already been set.
     [echo] Getting root certificate in DER format...
     [echo] ca getcacert "ManagementCA" C:\Users\tsaForFN\AppData\Local\Temp\/rootca.der -der
     [java] Wrote CA certificate to 'C:\Users\tsaForFN\AppData\Local\Temp\/rootca.der' using DER encoding.
     [echo] Adding to or creating keystore: c:\ejbca/p12/truststore.jks

ejbca:javatruststore-removeold:
     [exec] keytool error: java.lang.Exception: Input not an X.509 certificate
     [exec] java.lang.Exception: Input not an X.509 certificate
     [exec]     at sun.security.tools.keytool.Main.addTrustedCert(Main.java:2861)
     [exec]     at sun.security.tools.keytool.Main.doCommands(Main.java:1050)
     [exec]     at sun.security.tools.keytool.Main.run(Main.java:366)
     [exec]     at sun.security.tools.keytool.Main.main(Main.java:359)

     [exec] Result: 1
   [delete] Deleting: C:\Users\tsaForFN\AppData\Local\Temp\rootca.der

我尝试更改斜线,但仍然没有用。

这是Wildfly服务器的日志 https://controlc.com/bb5d54f4
这是EJBCA安装的日志 https://controlc.com/f6f062d2

属性是默认的,除了配置的数据库,正在工作但现在不相关。

您的问题是:“输入的不是 X.509 证书”

这是因为您在“install.properties”中使用了“implicitlyCA”,创建了普通客户端无法使用的 CA 证书。

初始化 CA 'ManagementCA' 'CN=ManagementCA,O=EJBCA Sample,C=SE' 'soft' '

您已将管理 CA 配置为使用“implicitlyCA”ECDSA,Java、Windows 或任何 Web 服务器和浏览器都不支持。

您需要使用可用于 TLS 连接的密钥(在 ca.keyspec 设置中),例如 RSA 2048 或 ECDSA prime256v1。

只有当你真的非常确定你在做什么,并且你使用特定的客户客户端软件时,才能使用隐式 CA。