keydelete 命令

用途

删除一个由来自密钥库标号标识的对象(密钥、证书等)。 如果标号是 ALL,所有对象都被删除。

语法

keydelete [ -S ServiceName ] -l Label [ -p PrivateKeystore ] [ UserName ]

描述

keydelete 命令删除一个由 Label 来标识的对象(密钥,证书)。 如果 LabelALL,就删除所有的对象。 当从密钥库删除对象时, -S 标志就指定了将要使用的终端实体服务和库。 在 /usr/lib/security/pki/ca.cfg 中定义可用的服务。 当没有使用 -S 来调用,keydelete 就使用缺省服务,它是 local。 如果指定了 ServiceName 而它在 /usr/ lib/security/pki/ca.cfg 文件中并没有对应项,那么返回一个错误。

必须指定 -l 标志。 Label 是一个可变长度文本字符串,用来将密钥库的键映射到包含匹配公用密钥的证书。 如果 LabelALL,就删除密钥库中的全部对象。

如果没有给出 -p 标志,就使用用户的缺省密钥库文件。 The user's default keystore location is /var/pki/security/keys/<用户名>.

如果没有给出 UserName,就使用当前的用户的用户名。 提示用户输入密钥库的密码。

标志

描述
-S ServiceName 指定用哪个服务模块。
-l 标签 指定与要添加的密钥相关的标号。
-p PrivateKeystore 指定源目的密钥库的位置。

Arguments

username - 指定所要删除密钥的用户。

安全性

这是一个特权 (set-UID root) 命令。

为了列示密钥库的内容,用户必须知道专用密钥库的密码。

属于组 securtiy 的 root 和调用者允许列示任何的密钥库。 然而,只有他们知道密钥库的密码,才能够成功完成此操作。 非特权用户仅被允许列示他自己的密钥库。

审计

该命令记录下列事件信息:

KEY_Delete<用户名>(删除

示例

  1. 用从调用者的缺省密钥库删除一个具有 signcert 标号的密钥库对象,请输入:
    keydelete -l signcert
  2. 删除调用者的缺省密钥库的所有对象,请输入:
    keydelete -l ALL
  3. 要从密钥库 /home/bob/ bob.keystore 删除具有 signcert 标号的密钥库对象,请输入:
    keydelete -p /home/bob/bob.keystore -l signcert

文件

/usr/lib/security/pki/ca.cfg