搜索

14.2. 生成密钥存储

download PDF

您可以创建 pkcs12bcfks 密钥存储,以用于红帽构建的 Keycloak 服务器 SSL。

14.2.1. PKCS12 密钥存储

p12 (或 pkcs12)密钥存储(和/或信任存储)在 BCFIPS 非批准模式下可以正常工作。

PKCS12 密钥存储可以以标准的方式在 RHEL 9 上使用 OpenJDK 17 Java 生成。例如,以下命令可用于生成密钥存储:

keytool -genkeypair -sigalg SHA512withRSA -keyalg RSA -storepass passwordpassword \
  -keystore $KEYCLOAK_HOME/conf/server.keystore \
  -alias localhost \
  -dname CN=localhost -keypass passwordpassword

当系统处于 FIPS 模式时,默认 java.security 文件会被修改以使用启用了 FIPS 的安全供应商,因此不需要额外的配置。另外,在 PKCS12 密钥存储中,您只能使用 keytool 命令存储 PBE (基于密码的加密)密钥,这使其成为将红帽构建的 Keycloak KeyStore Vault 和/或将配置属性存储在 KeyStore Config Source 中。如需了解更多详细信息,请参阅配置红帽构建的 Keycloak使用密码库

14.2.2. BCFKS 密钥存储

BCFKS 密钥存储生成需要使用 BouncyCastle FIPS 库和自定义安全文件。

您可以先创建一个帮助程序文件,如 /tmp/kc.keystore-create.java.security。文件的内容只需要具有以下属性:

securerandom.strongAlgorithms=PKCS11:SunPKCS11-NSS-FIPS

接下来,输入如下命令来生成密钥存储:

keytool -keystore $KEYCLOAK_HOME/conf/server.keystore \
  -storetype bcfks \
  -providername BCFIPS \
  -providerclass org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider \
  -provider org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider \
  -providerpath $KEYCLOAK_HOME/providers/bc-fips-*.jar \
  -alias localhost \
  -genkeypair -sigalg SHA512withRSA -keyalg RSA -storepass passwordpassword \
  -dname CN=localhost -keypass passwordpassword \
  -J-Djava.security.properties=/tmp/kc.keystore-create.java.security
警告

使用自签名证书仅用于演示目的,因此当您迁移到生产环境时,将这些证书替换为正确的证书。

当您使用 bcfks 类型的密钥存储/truststore 进行任何其他操作时需要类似的选项。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.