0

我创建了一个凭证存储并将应用程序密钥库密码保存在其中。计划是在 TLS keymanager 和 keystore 中使用密码别名。

所以,这就是我尝试过的。

/subsystem=elytron/key-store=LocalhostKeyStore:add(path=server.keystore,relative-to=jboss.server.config.dir,credential-reference={clear-text="keystore_password"},type=JKS)

/subsystem=elytron/key-manager=LocalhostKeyManager:add(key-store=LocalhostKeyStore,alias-filter=server,credential-reference={clear-text="key_password"})

/subsystem=elytron/server-ssl-context=LocalhostSslContext:add(key-manager=LocalhostKeyManager)

/subsystem=undertow/server=default-server/https-listener=https:undefine-attribute(name=security-realm)

/subsystem=undertow/server=default-server/https-listener=https:write-attribute(name=ssl-context,value=LocalhostSslContext)

上面一个带有明文的工作完美无缺,但是当试图替换凭证存储时它不起作用。

创建商店并存储密码。

/subsystem=elytron/credential-store=LocalhostKeyStore:add(relative-to=jboss.server.data.dir, location=appks.jceks,create=true,credential-reference={clear-text=kspass, type=JKS})

/subsystem=elytron/credential-store=LocalhostKeyStore:add-alias(alias=kspass,secret-value=secret)

/subsystem=elytron/key-store=LocalhostKeyStore:add(path=server.keystore,relative-to=jboss.server.config.dir,credential-reference={store=LocalhostKeyStore, alias=kspass})

在以下脚本中出现错误。

/subsystem=elytron/key-manager=LocalhostKeyManager:add(key-store=LocalhostKeyStore,alias-filter=server,credential-reference={store="LocalhostKeyStore", alias=kspass})

也尝试使用明文,同样的问题。

/subsystem=elytron/key-manager=LocalhostKeyManager:add(key-store=LocalhostKeyStore,alias-filter=server,credential-reference={clear-text=kspass})

结果失败消息:

{
    "outcome" => "failed",
    "failure-description" => "WFLYCTL0369: Required capabilities are not available:
    org.wildfly.security.key-store.LocalhostKeyStore; Possible registration points for this capability:
                /subsystem=security/elytron-key-store=*
                /subsystem=security/elytron-trust-store=*
                /subsystem=elytron/key-store=*
                /subsystem=elytron/ldap-key-store=*
                /subsystem=elytron/filtering-key-store=*",
    "rolled-back" => true
}

我错过了什么?

帮助表示赞赏!谢谢!

4

1 回答 1

0

是的,密钥管理器可以使用凭证存储区使用存储在凭证存储区中的安全密码来验证密钥库。我在产生错误的语句中指向凭证存储而不是密钥存储不正确。

于 2020-03-19T21:34:22.063 回答