Jboss 配置wildfly时在密钥库中找不到密钥

Jboss 配置wildfly时在密钥库中找不到密钥,jboss,wildfly,wildfly-8,keytool,Jboss,Wildfly,Wildfly 8,Keytool,我们有几个.cer文件,并使用keytool命令导入密钥库。现在,我们使用该密钥库配置Wildfly 8.xSSL。开始时,我们会出现以下错误: 22:38:56,992 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-7) MSC000001: Failed to start service jboss.server.controller.management.security_realm.UndertowRealm.key-

我们有几个
.cer
文件,并使用keytool命令导入密钥库。现在,我们使用该密钥库配置
Wildfly 8.x
SSL。开始时,我们会出现以下错误:

 22:38:56,992 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-7) MSC000001: Failed to start service jboss.server.controller.management.security_realm.UndertowRealm.key-manager: org.jboss.msc.service.StartException in service jboss.server.controller.management.security_realm.UndertowRealm.key-manager: WFLYDM0083: The KeyStore /home/demo/mykeystore.jks does not contain any keys.
    at org.jboss.as.domain.management.security.FileKeystore.assertContainsKey(FileKeystore.java:169)
    at org.jboss.as.domain.management.security.FileKeystore.load(FileKeystore.java:120)
    at org.jboss.as.domain.management.security.FileKeyManagerService.start(FileKeyManagerService.java:145)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

任何帮助都将不胜感激

请阅读到的链接。已经被问及StackOverflow,也许这也可以指导您。最后是两个非现场链接,这可能会对这个问题有所帮助

您没有包括您的配置(相关部分)以及您采取的步骤,因此除了我在评论中所说的以外,很难说其他内容

基本上你应该做什么:

  • 生成密钥。使用keytool,OpenSSL。。。。使用keytool的示例:
    $keytool-genkey-alias foo-keyalg RSA-keystore foo.keystore-validity 10950

  • 配置WildFly。基于前面的示例:



...

在第一步中生成的密钥应转到由
证书密钥文件=”“

配置的目录。如果您已从CA签署了证书,则不能使用keytool将私钥导入密钥库。您需要使用PKCS12格式的openssl导入private.key,然后使用keytool生成密钥库

假设您有以下可用文件

  • private-key.pem
  • AddTrustExternalCARoot.crt
  • COMODORSAAddTrustCA.crt
  • COMODORSADomainValidationSecureServerCA.crt
  • 您的\u DOMAIN\u com.crt或STAR\u您的\u DOMAIN\u com.crt(CA签署的证书)
步骤:

$cat AddTrustExternalCARoot.crt COMODORSAAddTrustCA.crt COMODORSADomainValidationSecureServerCA.crt > ssl-bundle.crt

$openssl pkcs12 -export -chain -in STAR_YOUR_DOMAIN_com.crt -inkey 
 private-key.pem -out keystore.p12 -name YOURDOMAIN -CAfile ssl-bundle.crt
现在您可以使用keytool导入

$keytool -importkeystore -destkeystore keystore.jks -srckeystore keystore.p12 -alias YOURDOMAIN

从错误消息中:KeyStore/home/demo/mykeystore.jks不包含任何密钥。你检查过那个文件是否包含密钥了吗?你能帮我了解更多细节吗?我们不生成任何keypaire,只导入带有keytool-import-trustcacert参数的证书。唯一的问题来自密钥库。如果我们先执行“$keytool-genkey-alias foo-keyalg RSA-keystore foo.keystore-validity 10950”,然后导入商业证书,https可以工作,但浏览器地址栏中的“https”字母上将出现一个红十字。如果我们不使用“keytool-genkey…”直接导入商业证书,则会在日志文件中发现“不包含任何密钥”错误。@LiBin详细说明“导入商业证书”。。。你在采取什么措施?是的。具体来说,我们会逐一跟进:
$keytool -importkeystore -destkeystore keystore.jks -srckeystore keystore.p12 -alias YOURDOMAIN