在windows上安装ejbca时,'c:\ejbca\p12\truststore.jks'中缺少jks truststore文件

kmb7vmvb  于 2021-07-08  发布在  Java
关注(0)|答案(1)|浏览(717)

我正在windows上安装ejbca。
操作系统版本:windows server 2016
java:openjdk 8.0.242.08 ant:ant 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\2\/rootca.der -der
     [java] Wrote CA certificate to 'C:\Users\tsaForFN\AppData\Local\Temp\2\/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\2\rootca.der

我试着改斜杠,但还是没用。
这是wildfly服务器的日志https://controlc.com/bb5d54f4
这是ejbca安装的日志https://controlc.com/f6f062d2
属性是默认的,但数据库现在已配置、正在工作且不相关。

wsxa1bj1

wsxa1bj11#

您的问题是:“输入不是x.509证书”
这是由于您在“install.properties”中使用了“implicitlyca”,创建了一个普通客户端无法使用的ca证书。
正在使用“managementca”初始化ca cn=managementca,o=ejbca sample,c=se“”soft“”<ca.tokenpassword hidden>“”隐式ca“”ecdsa“”3650“”null“”sha256withecdsa'-superadmin“”superadmin“”。。。
您已经将管理ca配置为使用“隐式”ecdsa,这不是java、windows或任何web服务器和浏览器所支持的。
您需要使用可用于tls连接的密钥(在ca.keyspec设置中),例如rsa 2048或ecdsa prime256v1。
只有当您确实确定自己在做什么,并且使用特定的客户机软件时,才能隐式地使用ca。

相关问题