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