跳过导航链接 | |
退出打印视图 | |
手册页第 1 部分:用户命令 Oracle Solaris 11 Information Library (简体中文) |
- 计算输入的消息验证代码
/usr/bin/mac -l
/usr/bin/mac [-v] -a algorithm [-k keyfile | -K key_label [-T token_spec]] [file]...
mac 实用程序可使用指定算法计算给定文件或 stdin 的消息验证代码 (message authentication code, MAC)。
如果给定了多个文件,每个输出行就是单个文件的 MAC。
支持下列选项:
指定加密或解密过程中要使用的算法的名称。有关详细信息,请参见“用法”下的算法。注意:不支持用于生成一般长度 MAC 的算法。
指定包含用于加密算法的密钥值的文件。每种算法都具有特定的密钥材料要求,如 PKCS#11 规范中所述。如果未指定 -k,mac 会使用getpassphrase(3C) 提示提供密钥材料。
有关生成密钥文件的信息,请参见 pktool(1)、dd(1M) 或《Oracle Solaris 管理:安全服务》。
指定 PKCS#11 令牌中的对称令牌密钥的标签。
显示系统上可用的算法列表。此列表可依加密框架的配置而变化。以位为单位显示密钥大小。
指定 PKCS#11 令牌,而不使用指定 -K 时的缺省软令牌对象存储。
token_spec 的格式为:
token_name [:manuf_id [:serial_no]]
当令牌标签包含结尾空格时,为方便起见,此选项不要求用户键入这些空格。
使用冒号分隔令牌标识字符串。如果任一部分中包含冒号 (:) 文本字符,必须使用反斜杠 (\) 对其进行转义。如果未找到冒号 (:),则将整个字符串(最多 32 个字符)视为令牌标签。如果仅找到一个冒号 (:),则该字符串是令牌标签和生产商。
提供详细信息。
可使用 -l 选项显示受支持的算法。这些算法由加密框架提供。每个受支持的算法都是特定算法类型的最常用和受限最小版本的别名。例如,md5_hmac 是 CKM_MD5_HMAC 的别名。
这些别名与 -a 选项一起使用,并且区分大小写。
若在加密和解密任务期间未使用 -k 选项,则会提示用户提供口令短语。可使用 PKCS #5 中指定的 PBKDF2 算法将口令短语处理为更安全的密钥。
示例 1 列出可用算法
以下示例列出了可用的算法:
example$ mac -l Algorithm Keysize: Min Max ----------------------------------- des_mac 64 64 sha1_hmac 8 512 md5_hmac 8 512 sha256_hmac 8 512 sha384_hmac 8 1024 sha512_hmac 8 1024
示例 2 获取消息验证代码
以下示例获取文件的消息验证代码:
example$ mac -v -k mykey -a sha1_hmac /export/foo sha1_hmac (/export/foo) = 913ced311df10f1708d9848641ca8992f4718057
示例 3 使用令牌密钥获取消息验证代码
以下示例使用软令牌 keystore 中的通用令牌密钥获取消息验证代码。可使用 pktool(1) 生成通用令牌密钥:
encrypt -v -a sha1_hmac -K my_generic_key \ -T "Sun Software PKCS#11 softtoken" /export/foo Enter pin for Sun Software PKCS#11 softtoken: sha1_hmac (/etc/foo) = c2ba5c38458c092a68940081240d22b670182968
将返回以下退出值:
成功完成。
出现错误。
有关下列属性的描述,请参见 attributes(5):
|
digest(1)、pktool(1)、dd(1M)、getpassphrase(3C)、libpkcs11(3LIB)、attributes(5)、pkcs11_softtoken(5)
RSA PKCS#11 v2.20 与 RSA PKCS#5 v2.0,http://www.rsasecurity.com