AdminTask 对象的 KeyStoreCommands 命令组
要通过 wsadmin 工具配置密钥库,可以使用 Jython 或 Jacl 脚本语言来实现。密钥库是由应用程序服务器在安装期间创建的,可以包含密钥或证书。KeyStoreCommands 组中的命令和参数可用于创建、删除和管理密钥库。
changeKeyStorePassword
changeKeyStorePassword 命令修改密钥库的密码。该命令会自动将新密码保存到配置中。
必需参数
- -keyStoreName
- 指定需要更改密码的密钥库的名称。(字符串,必需)
- -keyStorePassword
- 指定要更改的密码的名称。(字符串,必需)
- -newKeyStorePassword
- 指定要用来访问密钥库的新密码。(字符串,必需)
- -newKeyStorePasswordVerify
- 指定用于确认新的密钥库密码的新密码。(字符串,必需)
可选参数
- -scopeName
- 指定密钥库的管理范围。(字符串,可选)
示例
批处理方式示例用法:
- 使用 Jacl:
$AdminTask changeKeyStorePassword {-keystoreName myKeystore -keyStorePassword WebAS -newKeyStorePassword newpwd -newKeyStorePasswordVerify newpwd}
- 使用 Jython 字符串:
AdminTask.changeKeyStorePassword('[-keystoreName myKeystore -keyStorePassword WebAS -newKeyStorePassword newpwd -newKeyStorePasswordVerify newpwd]')
- 使用 Jython 列表:
AdminTask.changeKeyStorePassword(['-keystoreName', 'myKeystore', '-keyStorePassword', 'WebAS', '-newKeyStorePassword', 'newpwd', '-newKeyStorePasswordVerify', 'newpwd'])
交互方式示例用法:
- 使用 Jacl:
$AdminTask changeKeyStorePassword {-interactive}
- 使用 Jython:
AdminTask.changeKeyStorePassword('-interactive')
changeMultipleKeyStorePasswords
changeMultipleKeyStorePasswords 命令更新配置中具有特定密码的每个密钥库的密码。因为当在系统上创建密钥库文件时,缺省情况下这些密钥库文件将以 WebAS 作为密码,所以此命令很有用。
必需参数
- -keyStorePassword
- 指定要更改的密码的名称。(字符串,必需)
- -newKeyStorePassword
- 指定将用来访问密钥库的新密码。(字符串,必需)
- -newKeyStorePasswordVerify
- 确认新的密钥库密码。(字符串,必需)
可选参数
无。示例
批处理方式示例用法:
- 使用 Jacl:
$AdminTask changeMultipleKeyStorePasswords {-keyStorePassword WebAS -newKeyStorePassword newpwd -newKeyStorePasswordVerify newpwd}
- 使用 Jython 字符串:
AdminTask.changeMultipleKeyStorePasswords('[-keyStorePassword WebAS -newKeyStorePassword newpwd -newKeyStorePasswordVerify newpwd]')
- 使用 Jython 列表:
AdminTask.changeMultipleKeyStorePasswords(['-keyStorePassword', 'WebAS', '-newKeyStorePassword', 'newpwd', '-newKeyStorePasswordVerify', 'newpwd'])
交互方式示例用法:
- 使用 Jacl:
$AdminTask changeMultipleKeyStorePasswords {-interactive}
- 使用 Jython:
AdminTask.changeMultipleKeyStorePasswords('-interactive')
createKeyStore
createKeyStore 命令在配置中创建密钥库设置和密钥库数据库。
必需参数
- -keyStoreName
- 唯一地标识密钥库配置对象的名称。(字符串,必需)
- -keyStoreType
- 密钥库管理的实现。(字符串,必需)
- -keyStoreLocation
- 密钥库的位置。对于基于文件的密钥库,该位置是密钥库数据库的文件系统路径。对于硬件密钥库,该位置是令牌库的路径。(字符串,必需)
如果创建 IBMi5OSKeyStore 密钥库,那么该密钥库的位置必须包括 .kdb 文件扩展名。
- -keyStorePassword
- 保护密钥库的密码。(字符串,必需)
- -keyStorePasswordVerify
- 保护密钥库的密码。(字符串,必需)
可选参数
- -keyStoreProvider
- 用于实现密钥库的提供程序。(字符串,可选)
- -keyStoreIsFileBased
- 如果密钥库是基于文件的,请将此参数的值设置为 true。对于硬件密钥库,请将此参数的值设置为 false。(布尔值,可选)
- -keyStoreHostList
- 用逗号隔开的主机名的列表,这些主机名指示从何处以远程方式管理密钥库。(字符串,可选)
- -keyStoreInitAtStartup
- 如果在启动时初始化密钥库,请将此参数的值设置为 true。否则,请将此参数的值设置为 false。(布尔值,可选)
- -keyStoreReadOnly
- 如果您不能写入密钥库,请将此参数的值设置为 true。否则,请将此参数的值设置为 false。(布尔值,可选)
- -keyStoreStashFile
- 如果要为 CMS 类型的密钥库创建存储文件,请将此参数的值设置为 true。否则,请将此参数的值设置为 false。(布尔值,可选)
- -enableCryptoOperations
- 指定密钥库对象是否将用于硬件加密操作。缺省值为 false。(布尔值,可选)
- -keyStoreDescription
- 指定用于描述相关密钥库的用户定义文本。(字符串,可选)
- -keyStoreUsage
- 指定相关密钥库的用法。指定 SSLKeys、KeySetKeys、RootKeys、DeletedKeys、DefaultSigners 或 RSATokenKeys。(字符串,可选)
- -scopeName
- 唯一地标识管理范围的名称,例如:(cell):localhostNode01Cell。(字符串,可选)
- -controlRegionUser
- 指定控制区域用户来为控制区域密钥环创建可写密钥库对象。当启用了 SAF 可写密钥环时为 SAF 密钥环指定此选项。(字符串,可选)
- -servantRegionUser
- 指定服务方区域用户来为服务方区域密钥环创建可写密钥库对象。当启用了 SAF 可写密钥环时为 SAF 密钥环指定此选项。(字符串,可选)
示例
批处理方式示例用法:
- 使用 Jacl:
$AdminTask createKeyStore {-keyStoreName testKS -keyStoreType JCEKS -keyStoreLocation c:/temp/testKeyFile.p12 -keyStorePassword testpwd -keyStorePasswordVerify testpwd -keyStoreIsFileBased true -keyStoreInitAtStartup true -keyStoreReadOnly false}
- 使用 Jython 字符串:
AdminTask.createKeyStore('[-keyStoreName testKS -keyStoreType JCEKS -keyStoreLocation c:/temp/testKeyFile.p12 -keyStorePassword testpwd -keyStorePasswordVerify testpwd -keyStoreIsFileBased true -keyStoreInitAtStartup true -keyStoreReadOnly false]')
- 使用 Jython 列表:
AdminTask.createKeyStore(['-keyStoreName', 'testKS', '-keyStoreLocation', '-keyStoreType', 'JCEKS', 'c:/temp/testKeyFile.p12', '-keyStorePassword', 'testpwd', '-keyStorePasswordVerify', 'testpwd', '-keyStoreIsFileBased', 'true', '-keyStoreInitAtStartup', 'true', '-keyStoreReadOnly', 'false'])
交互方式示例用法:
- 使用 Jacl:
$AdminTask createKeyStore {-interactive}
- 使用 Jython:
AdminTask.createKeyStore('-interactive')
createCMSKeyStore
createCMSKeyStore 命令在配置中创建 CMS 密钥库数据库和密钥库设置。
必需参数
- -cmsKeyStoreURI
- CMS 密钥库的 URI。(字符串,必需)
- -pluginHostName
- 插件的主机名。(字符串,必需)
可选参数
无。示例
批处理方式示例用法:
- 使用 Jacl:
$AdminTask createCMSKeyStore {-cmsKeyStoreURI CMSKeystoreURI -pluginHostName myHostName}
- 使用 Jython 字符串:
AdminTask.createCMSKeyStore('-cmsKeyStoreURI CMSKeystoreURI -pluginHostName myHostName')
- 使用 Jython 列表:
AdminTask.createCMSKeyStore(['-cmsKeyStoreURI', 'CMSKeystoreURI', '-pluginHostName', 'myHostName'])
交互方式示例用法:
- 使用 Jacl:
$AdminTask createCMSKeyStore {-interactive}
- 使用 Jython:
AdminTask.createCMSKeyStore('-interactive')
deleteKeyStore
deleteKeyStore 命令从配置和密钥库文件中删除密钥库的设置。
必需参数
- -keyStoreName
- 唯一地标识要删除的密钥库的名称。(字符串,必需)
可选参数
- -scopeName
- 唯一地标识管理范围的名称,例如:(cell):localhostNode01Cell。(字符串,可选)
- -removeKeyStoreFile
- 指定是否移除密钥库文件。指定 true 以移除密钥库文件或指定 false 以将密钥库文件保留在配置中。(布尔值,可选)
示例
批处理方式示例用法:
- 使用 Jacl:
$AdminTask deleteKeyStore {-keyStoreName testKS}
- 使用 Jython 字符串:
AdminTask.deleteKeyStore('[-keyStoreName testKS]')
- 使用 Jython 列表:
AdminTask.deleteKeyStore(['-keyStoreName', 'testKS'])
交互方式示例用法:
- 使用 Jacl:
$AdminTask deleteKeyStore {-interactive}
- 使用 Jython:
AdminTask.deleteKeyStore('-interactive')
exchangeSigners
exchangeSigners 命令在密钥库之间交换签署者证书。
必需参数
- -keyStoreName1
- 唯一地标识密钥库的名称。必须使用 keyStoreName2 参数指定第二个密钥库名称。(字符串,必需)
- -keyStoreName2
- 唯一地标识密钥库的名称。必须使用 keyStoreName1 参数指定第二个密钥库名称。(字符串,必需)
可选参数
- -keyStoreScope1
- 您使用 keyStoreName1 参数指定的密钥库的范围名称。(字符串,可选)
- -keyStoreScope2
- 您使用 keyStoreName2 参数指定的密钥库的范围名称。(字符串,可选)
- -certificateAlaisList1
- 用逗号分隔的别名列表。(字符串,可选)
- -certificateAliasList2
- 用逗号分隔的别名列表。(字符串,可选)
示例
批处理方式示例用法:
- 使用 Jacl:
$AdminTask exchangeSigners {-keyStoreName1 testKS -certificateAliasList1 testCert1 -keyStoreName2 secondKS -certificateAlaisList2 certAlis}
- 使用 Jython 字符串:
AdminTask.exchangeSigners('[-keyStoreName1 testKS -certificateAliasList1 testCert1 -keyStoreName2 secondKS -certificateAlaisList2 certAlis]')
- 使用 Jython 列表:
AdminTask.exchangeSigners(['-keyStoreName1', 'testKS', '-certificateAliasList1', 'testCert1', '-keyStoreName2', 'secondKS', '-certificateAlaisList2', 'certAlis'])
交互方式示例用法:
- 使用 Jacl:
$AdminTask exchangeSigners {-interactive}
- 使用 Jython:
AdminTask.exchangeSigners('-interactive')
getKeyStoreInfo
getKeyStoreInfo 命令显示特定密钥库的设置。
必需参数
- -keyStoreName
- 唯一地标识密钥库的名称。(字符串,必需)
可选参数
- -scopeName
- 唯一地标识管理范围的名称,例如:(cell):localhostNode01Cell。(字符串,可选)
示例
批处理方式示例用法:
- 使用 Jacl:
$AdminTask getKeyStoreInfo {-name testKS}
- 使用 Jython 字符串:
AdminTask.getKeyStoreInfo('[-name testKS]')
- 使用 Jython 列表:
AdminTask.getKeyStoreInfo(['-name', 'testKS'])
交互方式示例用法:
- 使用 Jacl:
$AdminTask getKeyStoreInfo {-interactive}
- 使用 Jython:
AdminTask.getKeyStoreInfo('-interactive')
listKeyFileAliases
listKeyFileAliases 命令列出密钥库文件中的证书。
必需参数
- -keyFilePath
- 密钥文件的路径。(字符串,必需)
- -keyFilePassword
- 密钥文件的密码。(字符串,必需)
- -keyFileType
- 密钥文件类型。(字符串,必需)
可选参数
无。示例
批处理方式示例用法:
- 使用 Jacl:
$AdminTask listKeyFileAliases {-keyFilePath c:/temp/testKeyFile.p12 -keyFilePassword testPwd -keyFileType PKCS12}
$AdminTask listKeyFileAliases {-keyFilePath /temp/testKeyFile.p12 -keyFilePassword testPwd -keyFileType PKCS12}
- 使用 Jython 字符串:
AdminTask.listKeyFileAliases('[-keyFilePaht c:/temp/testKeyFile.p12 -keyFilePassword testPwd -keyFileType PKCS12]')
AdminTask.listKeyFileAliases('[-keyFilePaht /temp/testKeyFile.p12 -keyFilePassword testPwd -keyFileType PKCS12]')
- 使用 Jython 列表:
AdminTask.listKeyFileAliases(['-keyFilePaht', 'c:/temp/testKeyFile.p12', '-keyFilePassword', 'testPwd', '-keyFileType', 'PKCS12'])
AdminTask.listKeyFileAliases(['-keyFilePaht', '/temp/testKeyFile.p12', '-keyFilePassword', 'testPwd', '-keyFileType', 'PKCS12'])
交互方式示例用法:
- 使用 Jacl:
$AdminTask listKeyFileAliases {-interactive}
- 使用 Jython:
AdminTask.listKeyFileAliases('-interactive')
listKeyStores
listKeyStores 命令列出特定范围的密钥库。
必需参数
无。可选参数
- -scopeName
- 指定唯一地标识管理范围的名称,例如:(cell):localhostNode01Cell。(字符串,可选)
- -all
- 将此参数的值指定为 true 以列出所有密钥库。此参数覆盖 scopeName 参数。缺省值为 false。(布尔值,可选)
- -keyStoreUsage
- 指定相关密钥库的用法。指定 SSLKeys、KeySetKeys、RootKeys、DeletedKeys、DefaultSigners 或 RSATokenKeys。(字符串,可选)
示例
批处理方式示例用法:
- 使用 Jacl:
$AdminTask listKeyStores
- 使用 Jython:
AdminTask.listKeyStores()
交互方式示例用法:
- 使用 Jacl:
$AdminTask listKeyStores {-interactive}
- 使用 Jython:
AdminTask.listKeyStores('-interactive')
listKeyStoreTypes
listKeyStoreTypes 命令列出所有有效的密钥库类型。
必需参数
无。可选参数
无。示例
批处理方式示例用法:
- 使用 Jacl:
$AdminTask listKeyStoreTypes
- 使用 Jython:
AdminTask.listKeyStoreTypes()
交互方式示例用法:
- 使用 Jacl:
$AdminTask listKeyStoreTypes {-interactive}
- 使用 Jython 字符串:
AdminTask.listKeyStoreTypes('-interactive')
listSignatureAlgorithms
listSignatureAlgorithms 命令用于列示对已配置的当前安全级别有效的签名算法。如果未启用安全标准,那么将返回所有签名算法;否则,将返回已配置的安全级别的有效签名算法。
必需参数
无。可选参数
无。安全性方式 | 可用签名算法 |
---|---|
未启用 FIPS | SHA1withRSA |
FIPS140-2 | SHA1withRSA |
SP800-131 - 转换 | SHA1withRSA |
SP800-131 - 严格 | SHA256withRSASHA384withRSASHA512withRSASHA256withECDSASHA384withECDSASHA512withECDSA注:SHA512withECDSA 要求安装 Java 非受限策略。 |
Suite B 128 | SHA256withECDSA |
Suite B 192 | SHA256withECDSASHA384withECDSA |
modifyKeyStore
- 要使用此命令来更改密钥库对象引用的密钥库文件,请指定 keyStoreName、keyStoreLocation、keyStoreType 和 keyStorePassword 参数。
必需参数
- -keyStoreName
- 指定标识密钥库的唯一名称。(字符串,必需)
可选参数
- -scopeName
- 指定密钥库的管理范围。(字符串,可选)
- -keyStoreProvider
- 指定密钥库的提供程序。(字符串,可选)
- -keyStoreType
- 指定某个预定义的密钥库类型。有效值为 JCEKS、CMSKS、PKCS12、PKCS11 和 JKS。(字符串,可选)
- -keyStoreLocation
- 指定密钥库文件的标准位置。要修改密钥库文件的位置,必须指定 keyStoreLocation、keyStoreType、keyStorePassword 和 keyStoreName 参数。(字符串,可选)
- -keyStorePassword
- 指定用于打开密钥库的密码。使用 changeKeystorePassword 命令来更改密钥库的密码。(字符串,可选)
- -keyStoreIsFileBased
- 指定密钥库是否基于文件。要对密钥库是否基于文件进行修改,请指定 keyStoreIsFileBased 和 keyStoreName 参数。(布尔值,可选)
- -keyStoreInitAtStartup
- 指定密钥库是否在服务器启动时启动。要对密钥库是否在服务器启动时启动进行修改,请指定 keyStoreInitAtStartup 和 keyStoreName 参数。(布尔值,可选)
- -keyStoreReadOnly
- 指定密钥库是否可写。要对密钥库是否只读进行修改,请指定 keyStoreReadOnly 和 keyStoreName 参数。(布尔值,可选)
- -keyStoreDescription
- 指定描述密钥库的语句。要修改密钥库描述,请指定 keyStoreDescription 和 keyStoreName 参数。(字符串,可选)
- -keyStoreUsage
- 指定相关密钥库的用法。指定 SSLKeys、KeySetKeys、RootKeys、DeletedKeys、DefaultSigners 或 RSATokenKeys。(字符串,可选)
示例
批处理方式示例用法:
- 使用 Jacl:
$AdminTask modifyKeyStore {-keyStoreName CellDefaultKeyStore -keyStoreLocation c:/temp/testKeyFile.p12 -keyStoreType JCEKS -keyStorePassword my1password}
$AdminTask modifyKeyStore {-keyStoreName CellDefaultKeyStore -keyStoreLocation /temp/testKeyFile.p12 -keyStoreType JCEKS -keyStorePassword my1password}
- 使用 Jython:
AdminTask.modifyKeyStore('-keyStoreName CellDefaultKeyStore -keyStoreLocation c:/temp/testKeyFile.p12 -keyStoreType JCEKS -keyStorePassword my1password')
AdminTask.modifyKeyStore('keyStoreName CellDefaultKeyStore -keyStoreLocation /temp/testKeyFile.p12 -keyStoreType JCEKS -keyStorePassword my1password')
交互方式示例用法:
- 使用 Jacl:
$AdminTask modifyKeyStore {-interactive}
- 使用 Jython:
AdminTask.modifyKeyStore('-interactive')