在 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' '' 'implicitlyCA' 'ECDSA' '3650' 'null' 'SHA256withECDSA' -superadmincn 'SuperAdmin'...
您已将管理 CA 配置为使用“implicitlyCA”ECDSA,Java、Windows 或任何 Web 服务器和浏览器都不支持。
您需要使用可用于 TLS 连接的密钥(在 ca.keyspec 设置中),例如 RSA 2048 或 ECDSA prime256v1。
只有当你真的非常确定你在做什么,并且你使用特定的客户客户端软件时,才能使用隐式 CA。
我正在 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。