AMS 的密钥库配置文件 (keystore.conf) 的结构
密钥库配置文件 (keystore.conf) 将 Advanced Message Security 指向相应密钥库的位置。
要点: 存储在密钥库中的信息对于使用 IBM® MQ发送的安全数据流至关重要。 安全性管理员在向这些文件分配文件许可权时必须特别注意。
配置文件类型
| 文件类型 | 前缀 | 用途 | 支持的环境 |
|---|---|---|---|
| AMSCRED | amscred. | 与密码保护系统有关的参数 | 缺省环境 |
| CMS | cms. | 在证书管理系统中识别证书 | 分布式平台上的 C 客户端和 MCA 截取(不包括 IBM i )使用 CMS 前缀来指定必要的 KeyStore 位置或证书,用于 AMS |
| PKCS#11 | pkcs11. | 加密令牌标准 | 分布式平台上的 C 客户端和 MCA 截取(不包括 IBM i )支持 PKCS#11 前缀,以提供 KeyStore 位置和 AMS Java 或 JMS 客户端的证书,在需要 PKCS#11-compliant 硬件或软件的环境中也可使用此前缀。 KeyStores |
PEM |
pem. | 存储加密密钥和证书的标准格式 | IBM i 上的 C 客户端使用 PEM 前缀指定密钥存储位置或证书 |
| JKS | jks. | Java KeyStore 存储加密密钥和证书的格式 | Java 或 JMS 客户端可以使用 JKS 前缀指定 KeyStore 用于 AMS |
| JCEKS | jceks. | 更安全的 Java KeyStore, 支持更强的加密功能 | Java 或 JMS 客户端可以使用 JCEKS 前缀来配置 AMS |
![]() JCERACFKS |
jceracfks. | 用于 RACF 安全系统的特定密钥 KeyStore z/OS® | z/OS 系统上的 Java 或 JMS 客户端使用此前缀指定 RACF KeyStore 为 AMS |
密钥库结构示例
CMS
cms.keystore = /dir/keystore_file
cms.certificate = certificate_label
PKCS#11
pkcs11.library = dir\cryptoki.dll
pkcs11.certificate = certificatelabel
pkcs11.token = tokenlabel
pkcs11.token_pin = tokenpin
pkcs11.secondary_keystore = dir\signers
pkcs11.encrypted = no
PEMpem.private = /dir/keystore_file_private_key
pem.public = /dir/keystore_file_public_keys
pem.password = password
pem.encrypted = no
Java JKS
jks.keystore = dir/Keystore
jks.certificate = certificate_label
jks.encrypted = no
jks.keystore_pass = password
jks.key_pass = password
Java JCEKS
jceks.keystore = dir/Keystore
jceks.certificate = certificate_label
jceks.encrypted = no
jceks.keystore_pass = password
jceks.key_pass = password
Java JCERACFKS
jceracfks.keystore = safkeyring://user/keyring
jceracfks.certificate = certificate_label
Java PKCS#11
pkcs11.library = dir\cryptoki.dll
pkcs11.certificate = certificatelabel
pkcs11.token = tokenlabel
pkcs11.token_pin = tokenpin
pkcs11.secondary_keystore = dir\signers
pkcs11.secondary_keystore_pass = password
pkcs11.encrypted = no
参数
| 参数 | 必需 | 配置文件类型 | ||||
|---|---|---|---|---|---|---|
| Java (PKCS#11, JKS , JCEKS 和 JCERACFKS) | PEM |
PKCS#11 | CMS | AMSCRED | ||
keystore |
![]() |
![]() |
![]() |
|||
|
![]() |
![]() ![]() |
||||
|
![]() |
![]() ![]() |
||||
|
![]() |
![]() ![]() |
||||
library |
![]() |
![]() |
![]() |
|||
certificate |
![]() |
![]() |
![]() |
![]() |
||
token |
![]() |
![]() |
![]() |
|||
token_pin |
![]() |
![]() |
![]() |
|||
secondary_keystore |
![]() |
![]() |
![]() |
|||
secondary_keystore_password |
![]() |
![]() |
||||
encrypted |
![]() |
![]() ![]() |
![]() |
|||
keystore_pass |
![]() |
![]() |
||||
key_pass |
![]() |
|||||
provider |
![]() |
|||||
keyfile |
![]() |
|||||
|
![]() |
![]() |
![]() |
|||
|
![]() |
|||||
请注意,您可以使用 # 符号添加注释。
配置文件参数定义如下:
keystore- 仅 CMS 和 Java 配置。
![[IBM i]](ngibmi.gif)
private- 仅限 PEM 配置。
![[IBM i]](ngibmi.gif)
public- 仅限 PEM 配置。
![[IBM i]](ngibmi.gif)
password- 仅限 PEM 配置。
library- 仅 PKCS#11 。
certificate- 仅 CMS, PKCS#11 和 Java 配置。
token- 仅 PKCS#11 。
token_pin- 仅 PKCS#11 。
secondary_keystore- 仅 PKCS#11 。
secondary_keystore_password- 仅 Java PKCS#11 。
encrypted- Java 以及,从 IBM MQ 9.3.0、 PKCS#11 和
PEM 只是 keystore_pass- 仅限 Java 配置。
key_pass- 仅限 Java 配置。
keyfile- 提供在保护或解密此配置文件中包含的密码时要使用的初始密钥的位置; 请参阅 保护密码
provider- 仅限 Java 配置。
![[AIX、Linux 和 Windows]](ngalw.gif)
![[ MQ 9.4.4 2025 年 10 月]](ng944.gif)
fips- 仅 CMS, PKCS#11 和 Java 配置。
![[AIX、Linux 和 Windows]](ngalw.gif)
![[ MQ 9.4.4 2025 年 10 月]](ng944.gif)
forceFipsOff- CMS 配置。
要点: 存储在密钥库中的信息对于使用 IBM MQ发送的安全数据流至关重要。 安全性管理员在向这些文件分配文件许可权时必须特别注意。
保护密码
您应该保护 keystore.conf 文件中包含的密码和其他敏感信息。 有关更多信息,请参阅runamscred。
keystore.conf 文件的示例:
# Native AMS application configuration
cms.keystore = c:\Documents and Settings\Alice\AliceKeystore
cms.certificate = AliceCert
# Java AMS application configuration
jceks.keystore = c:/Documents and Settings/Alice/AliceKeystore
jceks.certificate = AliceCert
jceks.encrypted = no
jceks.keystore_pass = passw0rd
jceks.key_pass = passw0rd
![[IBM MQ Advanced VUE]](ngadvvue.gif)
JCERACFKS