Keycloak 25 (Quarkus) - 别名证书密码不起作用

问题描述 投票:0回答:1

我刚刚完成从早期基于 Wildfly 的 keycloak 到 Keycloak 25(基于 Quarkus)的升级。除了密钥库之外,我的一切都正常。我们使用的 P12 密钥库包含绑定到与密钥库本身不同的密码的证书(别名?)。

我注意到 keycloak 提供的默认属性不提供此选项,因此我采取了使用 quarkus 属性的方法。

我尝试使用这些属性:

quarkus.http.ssl.certificate.key-store-file=<p12 path>
quarkus.http.ssl.certificate.key-store-password=<password>
quarkus.http.ssl.certificate.key-store-alias=<alias cert name>
quarkus.http.ssl.certificate.key-store-alias-password=<different password>

我也尝试过:

quarkus.http.ssl.certificate.key-store-key-alias=<alias cert name>
quarkus.http.ssl.certificate.key-store-key-password=<different password>

当我设置这些时,keycloak 实例总是失败:

java.security.UnrecoverableKeyException: Get Key failed: Given final block not properly padded. Such issues can arise if a bad key is used during decryption

我已经验证了这个密码,并且实际上是使用剪贴板粘贴的,以避免人为错误。如何让 keycloak 实例在此设置中工作?

ssl ssl-certificate certificate keycloak quarkus
1个回答
0
投票

我明白了!

如果您严格遵循该文档,那么该文档是不正确的...

quarkus 和 keycloak 属性是故意分开的,不能在同一个配置文件中设置。 (在拉取请求中找到了这个)

文档声明定义 quarkus.properties 文件并将其放置在 conf 目录中。执行此操作后,文档还说明要设置此参数

--config-file
。不要设置此配置参数,它会覆盖 keycloak.conf 中存在的其他设置。

我在 keycloak.conf 中设置了

https-key-store-file
https-key-store-file-password
。然后,我在 keycloak conf 目录中定义了一个名为 quarkus.properties 的空文件。我在这个文件中放置了

quarkus.http.ssl.certificate.key-store-alias=<alias cert name>
quarkus.http.ssl.certificate.key-store-alias-password=<different password>

我还将这些参数的管理控制台版本放在那里。

这样,我就用

build
标志启动了 KC.bat,然后启动了它。现在一切都正常启动,使用从我的密钥库到证书别名的不同密码。

© www.soinside.com 2019 - 2024. All rights reserved.