ctmsskf 命令

用途

显示并管理消息安全性服务(MSS)密钥文件的内容。

语法

ctmsskf {-a | -d | -l | -h} [-f key_file] [-t key_type] [-v key_version] [-k key_value]

描述

ctmsskf 命令显示和管理消息安全服务 (MSS) 类型密钥文件的内容。 使用该命令将密钥添加到密钥文件、从密钥文件删除密钥或列出密钥文件的内容。

添加密钥:
当使用该命令将密钥项添加到密钥文件时,必须指定以下内容:
  • 要添加密钥的密钥文件的名称
  • 要添加的密钥的类型
  • 可选地,要添加到密钥文件的密钥的版本
  • 密钥的 16 位值

如果指定的密钥文件不存在,那么会创建密钥文件。 如果指定的密钥文件 不存在 ,那么 ctmsskf 命令将验证为新密钥指定的密钥类型是否与文件中已记录的密钥所使用的类型匹配。 只有同样类型的密钥才能添加到现有的密钥文件。 当将密钥成功添加到文件时,该版本的密钥变为活动密钥版本。 如果使用 -v key_version 标志指定密钥版本,那么将使用 key_version 作为新版本号并使其成为现行版本。 如果未指定 key_version,那么使用大于以前活动密钥版本号的密钥版本值添加密钥。

不能替换密钥的现有版本。 要替换现有密钥版本或更改现有密钥版本的值,必须首先使用 -d 标志删除该密钥版本,然后使用 -a 标志再次添加该密钥版本。 如果尝试添加使用现有密钥文件中的密钥已经在使用的版本号的密钥,那么命令返回错误。 一般地,由于替换较旧密钥版本会使较旧密钥版本活动,所有只应对当前活动的密钥的值执行密钥替换。

由于密钥版本可以按任何顺序添加到密钥文件,所以最高密钥版本号可能是(也可能不是)当前活动的密钥版本。 使用 -l 标志来确定当前对文件处于活动状态的密钥版本。

删除密钥:
当使用该命令从密钥文件删除密钥项时,必须指定以下内容:
  • 要从中删除密钥的密钥文件的名称
  • 可选地,要删除的密钥的类型
  • 可选地,要删除的密钥的版本
如果指定的密钥为空、不存在,或没有合适的报头,该命令将返回错误。 如果密钥类型已指定且其不与密钥文件报头中的密钥类型相匹配,该命令将返回错误。 如果密钥版本已指定,该命令将定位与所提供的版本相应的记录并将其从文件中清除。 如果没有这种记录,该命令将返回错误。 如果没有提供密钥版本,该命令将仅清除被标记为非活动的记录。
列示密钥文件的内容:
当使用该命令列出密钥文件的内容时,显示以下信息:
  • 密钥文件的头。
  • 密钥文件中的密钥列表。
    对每个密钥显示以下信息:
    • 记录是否为非活动的指示
    • 密钥的版本
    • 密钥的类型
    • 密钥的 16 位值

标志

-a
添加密钥至密钥文件。 还必须指定 -f-k-t 标志。
-d
从密钥文件中删除密钥。 还必须指定 -f-v 标志。 如果指定了 -t 标志,那么该命令将检查密钥文件的类型是否与提供的密钥类型相同。
-l
列出密钥文件的内容。 还必须指定 -f 标志。 如果指定了 -v 标志,那么该命令仅列出与提供的版本号匹配的密钥。
-f 密钥文件
指定了密钥文件的名称。 该密钥文件必须为由 MSS API 或该命令创建的有效的密钥文件。
-t 键类型
指定了要添加的密钥类型。 如果指定的密钥文件非空,该命令将检查指定的密钥类型是否与密钥文件报头中的密钥类型相匹配。 有效的密钥类型值为: 3des_md5aes256_md5des_cbcdes_md5rsa512_sharsa1024_sha
-v key_version
指定密钥的版本。
-k 键值对
指定密钥的 16 位值。
-h
将命令的用法语句写到标准输出。

安全性

密钥文件的文件系统许可权是由拥有该文件的应用程序确定的。 如果调用者没有足够的权限来打开该文件,该命令将失败。

退出状态

0
命令成功完成。
4
调用程序不正确地调用了该命令,省略了必需标志和参数,或使用了互斥的标志。 该命令不处理请求而终止。
6
该命令操作过程期间内存分配请求失败。 该命令不能完成请求的操作。
9
如果指定了 -a 标志,那么该命令在密钥文件中检测到一个使用与 -v 标志指定的版本号相同的密钥。 如果指定了 -d 标志,那么命令无法使用 -v 标志指定的版本号在密钥文件中找到密钥。 密钥文件没有修改。
21
不能找到密钥文件。 验证 -f 标志指定的密钥文件的路径名是否正确。
27
-t 标志指定的密钥类型与 -f 标志指定的文件中存储的密钥类型不匹配。 不执行请求的操作。
30
ctmsskf 无法独占使用密钥文件。 该命令的另一个实例可能正在运行并试图修改同一个文件,或者使用该密钥文件的进程可能正在检查该文件。 稍后重试该命令。
36
该命令用户不具有充分的许可权来修改密钥文件的内容。
37
密钥文件显示乱码。 尝试使用 -l 标志列出文件的内容,以验证该文件是否已损坏。 对以后的恢复操作指定错误消息中列出的问题解决方案建议。

限制

该命令仅用于 MSS 格式的密钥文件。

标准输出

当指定 -h 标志时,此命令的用法语句将写入标准输出。 当指定 -i 标志时,将显示可用密钥生成方法的列表。 指定 -l 标志时,将显示密钥文件中的一个或多个密钥。

标准错误

有关任何检测到的故障情况的描述信息都写入标准错误。

示例

  1. 要查看密钥文件 /my_key_file中包含的密钥,请输入:
    ctmsskf -l -f /my_key_file
  2. 要从密钥文件 /my_key_file查看版本为 9 的密钥,请输入:
    ctmsskf -l -v 9 -f /my_key_file
  3. 要向密钥文件 /my_key_file添加密钥,请输入:
    ctmsskf -a -t des_cbc -f /my_key_file -k 16_digit_value
  4. 要从密钥文件 /my_key_file中删除密钥,请输入:
    ctmsskf -d -f /my_key_file -v 10
  5. 要删除密钥文件 /my_key_file中的所有不活动密钥,请输入:
    ctmsskf -d -f /my_key_file

位置

/opt/rsct/bin/ctmsskf
包含 ctmsskf 命令

文件

/opt/rsct/cfg/ctcasd.cfg
ctcasd 守护程序的缺省配置
/var/ct/cfg/ctcasd.cfg
ctcasd 守护程序的配置,可由系统管理员修改
/var/ct/cfg/ct_has.pkf
节点的集群安全服务公用密钥文件的缺省位置
/var/ct/cfg/ct_has.qkf
节点的集群安全服务专用密钥文件的缺省位置
/var/ct/cfg/ct_has.thl
节点的集群安全服务可信主机列表的缺省位置