SafeNet USB HSM生成RSA/DSA/ECDSA密钥对

cmu generatekeypair

此指令在令牌或 HSM 上生成非对称密钥对。可选输入文件名可用于指定要从中读取强制属性和可选属性的文件。

对于 DSA 密钥生成,参数(Prime、Subprime 和 Base)是必需的,并且必须作为命令的一部分或作为交互式提示的响应提供。如果在命令行中提供了其中一个参数,则必须以该方式提供所有三个参数。如果在命令行中未提供任何参数,则系统会提示所有三个参数进行交互式输入。

命令行中不能只提供一个或两个参数。仅提供一个或两个域参数将被视为错误,命令将暂停并显示错误消息。

句法

cmu generatekeypair <参数>

必需参数

范围描述
-modulusBits

此参数必需定义用于生成 RSA 密钥对的模数值的长度(以位为单位)。该参数必须设置

为 1024 到 4096 之间的值,且该值必须是 64 位的倍数。
如果 HSM 策略 12“Allow non-FIPS algorithms”设置为“否”,则 RSA 密钥大小限制

为 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策略可能限制密钥功能互斥(如加密与验证不可共存)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值