cmu generatekeypair
此指令在令牌或 HSM 上生成非对称密钥对。可选输入文件名可用于指定要从中读取强制属性和可选属性的文件。
对于 DSA 密钥生成,参数(Prime、Subprime 和 Base)是必需的,并且必须作为命令的一部分或作为交互式提示的响应提供。如果在命令行中提供了其中一个参数,则必须以该方式提供所有三个参数。如果在命令行中未提供任何参数,则系统会提示所有三个参数进行交互式输入。
命令行中不能只提供一个或两个参数。仅提供一个或两个域参数将被视为错误,命令将暂停并显示错误消息。
句法
cmu generatekeypair <参数>
必需参数
| 范围 | 描述 |
|---|---|
| -modulusBits |
此参数必需定义用于生成 RSA 密钥对的模数值的长度(以位为单位)。该参数必须设置 为 1024 到 4096 之间的值,且该值必须是 64 位的倍数。 为 2048 位或 3072 位。 |
| -publicExponent |
此参数必需定义用于生成 RSA 密钥对的公共指数值。它必须设置为 3、17 或 65537。 |
可选参数
| 范围 | 描述 |
|---|---|
| -binary |
这是一个可选参数,它将导出的证书格式定义为原始二进制,而不是默认的 PEM(base64) 编码。 |
| -inputFile | 此可选参数定义一个文件的名称,从中获取附加参数设置,每行一个,格式为 name=value。 |
| -keyType |
此可选参数定义要生成的非对称密钥的类型。如果密钥类型可以通过其他参数确定,则此参 数不是必需的。(例如,如果存在 modulusBits 和/或 publicExponent 参数, 则 -keyType=RSA 是多余的)。目前仅支持 RSA 密钥对。 |
| -label |
此可选参数定义要应用于两个新生成的键的标签。如果需要多字标签,则必须将标签值括 在引号中。 |
| -labelPublic |
此可选参数定义了要应用于新生成的密钥对的公钥的标签。 |
| -labelPrivate |
此可选参数定义了要应用于新生成的密钥对的私钥的标签。 |
| -modifiable |
此可选参数定义密钥对中每个密钥的可修改设置。它必须设置为 True 或 False(或 1 或 0)。 |
| -id |
此可选参数定义新生成的密钥的 Id 字段。它必须设置为大端十六进制整数值。 |
| -startDate |
此可选参数定义新生成的密钥的 startDate 字段。该值的格式为 YYYYMMDD。 |
| -endDate |
此可选参数定义新生成的密钥的 endDate 字段。该值的格式为 YYYYMMDD。 |
| -subject |
此可选参数定义新生成的密钥的主题字段。它必须设置为大端十六进制整数值。主题字段 通常设置为密钥的主题可分辨名称的 DER 编码。 |
| -encrypt |
此可选参数定义新生成的密钥对中公钥的加密设置。它必须设置为 True 或 False(或 1 或 0),False 为默认值。如果此参数设置为 True,则私钥的解密设置也应设置为 True。请注意,HSM 通常配置为一个 密钥不能具有多种功能。因此,如果将加密设置为 True,则包装和验证需要设置为 False。 |
| -decrypt |
此可选参数定义新生成的密钥对中私钥的解密设置。它必须设置为 True 或 False(或 1 或 0),False 为默认值。如果此参数设置为 True,则公钥的加密设置也应设置为 True。请注意,HSM 通常配置为一个 密钥不能具有多个功能。因此,如果将解密设置为 True,则解包和签名需要设置为 False。 |
| -sign |
此可选参数定义新生成的密钥对中私钥的签名设置。它必须设置为 True 或 False(或 1 或 0),False 为默认值。如果此参数设置为 True,则公钥的验证设置也应设置为 True。请注意,HSM 通常配置为一个 密钥不能具有多个功能。因此,如果签名设置为 True,则解包和解密需要设置为 False。 |
| -verify |
此可选参数定义新生成的密钥对中公钥的验证设置。它必须设置为 True 或 False(或 1 或 0),False 为默认值。如果此参数设置为 True,则私钥的签名设置也应设置为 True。请注意,HSM 通常配置为一个 密钥不能具有多个功能。因此,如果将 verify 设置为 True,则 encrypt 和 wrap 必须设置为 False。 |
| -wrap |
此可选参数定义新生成的密钥对中公钥的包装设置。它必须设置为 True 或 False(或 1 或 0),False 为默认值。如果此参数设置为 True,则私钥的解包设置也应设置为 True。请注意,HSM 通常配置为一个 密钥不能具有多个功能。因此,如果将包装设置为 True,则加密和验证需要设置为 False。 |
| -unwrap |
此可选参数定义新生成的密钥对中私钥的解包设置。它必须设置为 True 或 False(或 1 或 0),False 为默认值。如果此参数设置为 True,则公钥的解包设置也应设置为 True。请注意,HSM 通常配置为一个 密钥不能具有多个功能。因此,如果将解包设置为 True,则解密和签名需要设置为 False。 |
| -extractable |
此可选参数定义新生成的密钥对中私钥的可提取设置。它必须设置为 True 或 False(或 1 或 0),其中 False 为默认值。 |
| -curvetype |
此可选参数定义 ECDSA 密钥的曲线类型名称。请输入 1-5 的值 (1-NISTP 192 / 2-NISTP 224 / 3-NISTP 256 / 4-NISTP 384 / 5-NISTP 521)。 |
| -prime |
此可选参数定义 DSA 密钥生成的主要长度。 |
| -subprime |
此可选参数定义 DSA 密钥生成的次质位长度。 |
| -base |
此可选参数定义 DSA 密钥生成的基本长度。 |
例子
RSA
C:\Program Files\SafeNet\LunaClient>cmu gen -modulusBits=2048 -publicExp=65537 -sign=T -verify=T
Select token
[1] Token Label: myPartition1
[2] Token Label: myPartition1
Enter choice: 2
Please enter password for token in slot 2 : *******************
C:\Program Files\SafeNet\LunaClient>cmu list
Select token
[1] Token Label: myPartition1
[2] Token Label: myPartition1
Enter choice: 2
Please enter password for token in slot 2 : *******************
handle=14 label=NewPublicVerifyingKey
handle=15 label=NewPrivateSigningKey
C:\Program Files\SafeNet\LunaClient>
DSA - 相关参数在命令行中
cmu generatekeypair -keytype DSA -slot 6
-prime 0xfcec6182eb2<...too long to reproduce...>fe00d0204c3
-subprime 0xd3807350xd3807<...long string...>cedc61
-base 0x42e37<...too long to reproduce...>22c3b1205e
DSA——相关参数在交互中输入
cmu generatekeypair -keytype DSA -slot 6
The prime, subprime and base values must be entered as a HEX byte array.
For example, to enter a 1024-bit prime value, enter a 128-byte HEX byte array using
this format: 0xa0383ee692f8...
The prime value can be a 1024-bit, 2048-bit or 3072-bit value.
Enter a prime value: 0xfcec6182eb2<...too long to reproduce...>fe00d0204c3
Enter a 160 bit subprime value: 0xd3807<...long string...>cedc61
Enter a 1024-bit base value: 0x42e37<...too long to reproduce...>22c3b1205e
总结
cmu generatekeypair指令用于在令牌或HSM上生成非对称密钥对,支持RSA和DSA类型。对于RSA密钥,必须提供modulusBits(1024-4096位,64位倍数)和publicExponent(3/17/65537)参数;DSA密钥需完整提供Prime、Subprime和Base参数,否则会报错。可选参数包括密钥标签、功能设置(加密/签名等)、有效期及输入文件等。示例展示了生成2048位RSA密钥对(带签名/验证功能)及DSA密钥参数交互输入的过程。注意HSM策略可能限制密钥功能互斥(如加密与验证不可共存)。

2820

被折叠的 条评论
为什么被折叠?



