vecs-cli命令集可用于管理 VMware Certificate Store (VECS) 实例。将这些命令与 dir-cli和 certool 配合使用可管理证书基础架构和身份验证服务。
vecs-cli store create
创建证书存储。
选项 | 描述 |
---|---|
--name <name> | 证书存储的名称。 |
--server <server-name> |
如果您连接到远程 VECS 实例,则用于指定服务器名称。 |
--upn <user-name> |
用于登录到--server <server-name> 指定的服务器实例的用户主体名称。创建库时,会在当前用户环境中创建。因此,该库的所有者是当前用户环境,而不总是 root 用户。 |
vecs-cli store create --name <store>
vecs-cli store delete
删除证书存储。无法删除 MACHINE_SSL_CERT、TRUSTED_ROOTS 和 TRUSTED_ROOT_CRLS 系统存储。具有必需特权的用户可以删除解决方案用户存储。
选项 | 描述 |
---|---|
--name <name> | 要删除的证书存储的名称。 |
--server <server-name> |
如果您连接到远程 VECS 实例,则用于指定服务器名称。 |
--upn <user-name> |
用于登录到--server <server-name> 指定的服务器实例的用户主体名称。创建库时,会在当前用户环境中创建。因此,该库的所有者是当前用户环境,而不总是 root 用户。 |
vecs-cli store delete --name <store>
vecs-cli store list
列出证书存储。
选项 | 描述 |
---|---|
--server <server-name> |
如果您连接到远程 VECS 实例,则用于指定服务器名称。 |
--upn <user-name> |
用于登录到--server <server-name> 指定的服务器实例的用户主体名称。创建库时,会在当前用户环境中创建。因此,该库的所有者是当前用户环境,而不总是 root 用户。 |
库 | 描述 |
---|---|
计算机 SSL 库 (MACHINE_SSL_CERT) |
vSphere 6.0 及更高版本中的所有服务通过使用计算机 SSL 证书的反向代理进行通信。为了实现向后兼容性,5.x 服务仍使用特定端口。因此,某些服务(如 vpxd)仍使其自身的端口处于打开状态。 |
解决方案用户库
|
VECS 为每个解决方案用户提供一个库。每个解决方案用户证书的主体必须是唯一的,例如 machine 证书不能具有与 vpxd 证书相同的主体。 解决方案用户证书用于通过 vCenter Single Sign-On 进行身份验证。vCenter Single Sign-On 会检查证书是否有效,但不会检查其他证书属性。 VECS 中包含以下解决方案用户证书存储:
每个 vCenter Server 节点包含一个 |
受信任的根存储 (TRUSTED_ROOTS) | 包含所有受信任的根证书。 |
vSphere Certificate Manager 实用程序备份库 (BACKUP_STORE) | 由 VMCA (VMware Certificate Manager) 用来支持证书恢复。仅将最近的状态存储为备份,无法返回多个步骤。 |
其他库 | 解决方案可能会添加其他库。例如,Virtual Volumes 解决方案会添加 SMS 库。请勿修改这些库中的证书,除非 VMware 文档或 VMware 知识库文章要求进行此类修改。
注: 删除 TRUSTED_ROOTS_CRLS 存储可能会损坏证书基础架构。请勿删除或修改 TRUSTED_ROOTS_CRLS 存储。
|
vecs-cli store list
vecs-cli store permissions
授予或撤销对存储的权限。使用 --grant或 --revoke 选项。
存储所有者可以执行所有操作,包括授予和撤销权限。本地 vCenter Single Sign-On 域的管理员(默认为 [email protected])对所有存储具有所有特权,包括授予和撤销权限。
您可以使用 vecs-cli get-permissions --name <store-name>检索存储的当前设置。
选项 | 描述 |
---|---|
--name <name> | 证书存储的名称。 |
--user <username> | 被授予权限的用户的唯一名称。 |
--grant [read|write] | 授予读取或写入权限。 |
--revoke [read|write] | 撤销读取或写入权限。当前不受支持。 |
vecs-cli store get-permissions
检索存储的当前权限设置。
选项 | 描述 |
---|---|
--name <name> | 证书存储的名称。 |
--server <server-name> |
如果您连接到远程 VECS 实例,则用于指定服务器名称。 |
--upn <user-name> |
用于登录到--server <server-name> 指定的服务器实例的用户主体名称。创建库时,会在当前用户环境中创建。因此,该库的所有者是当前用户环境,而不总是 root 用户。 |
vecs-cli entry create
在 VECS 中创建一个条目。使用此命令向存储中添加一个专用密钥或证书。
选项 | 描述 |
---|---|
--store <NameOfStore> |
证书存储的名称。 |
--alias <Alias> | 证书的可选别名。对于受信任的根存储,将忽略此选项。 |
--cert <certificate_file_path> | 证书文件的完整路径。 |
--key <key-file-path> | 与证书对应的密钥的完整路径。 可选。 |
--password <password> | 加密专用密钥的可选密码。 |
--server <server-name> |
如果您连接到远程 VECS 实例,则用于指定服务器名称。 |
--upn <user-name> |
用于登录到--server <server-name> 指定的服务器实例的用户主体名称。创建库时,会在当前用户环境中创建。因此,该库的所有者是当前用户环境,而不总是 root 用户。 |
vecs-cli entry list
列出指定存储中的所有条目。
选项 | 描述 |
---|---|
--store <NameOfStore> | 证书存储的名称。 |
vecs-cli entry getcert
从 VECS 中检索证书。可以将证书发送到输出文件或将其显示为人工可读的文本。
选项 | 描述 |
---|---|
--store <NameOfStore> | 证书存储的名称。 |
--alias <Alias> | 证书的别名。 |
--output <output_file_path> | 要向其写入证书的文件。 |
--text | 显示证书的人工可读版本。 |
--server <server-name> |
如果您连接到远程 VECS 实例,则用于指定服务器名称。 |
--upn <user-name> |
用于登录到--server <server-name> 指定的服务器实例的用户主体名称。创建库时,会在当前用户环境中创建。因此,该库的所有者是当前用户环境,而不总是 root 用户。 |
vecs-cli entry getkey
检索存储在 VECS 中的密钥。可以将密钥发送到输出文件或将其显示为人工可读的文本。
选项 | 描述 |
---|---|
--store <NameOfStore> | 证书存储的名称。 |
--alias <Alias> | 密钥的别名。 |
--output <output_file_path> | 要向其写入密钥的输出文件。 |
--text | 显示密钥的人工可读版本。 |
--server <server-name> |
如果您连接到远程 VECS 实例,则用于指定服务器名称。 |
--upn <user-name> |
用于登录到--server <server-name> 指定的服务器实例的用户主体名称。创建库时,会在当前用户环境中创建。因此,该库的所有者是当前用户环境,而不总是 root 用户。 |
vecs-cli entry delete
删除证书存储中的条目。如果删除 VECS 中的条目,则会将其从 VECS 中永久移除。唯一的例外是当前根证书。VECS 轮询根证书的 vmdir。
选项 | 描述 |
---|---|
--store <NameOfStore> | 证书存储的名称。 |
--alias <Alias> | 要删除的条目的别名。 |
--server <server-name> |
如果您连接到远程 VECS 实例,则用于指定服务器名称。 |
--upn <user-name> |
用于登录到--server <server-name> 指定的服务器实例的用户主体名称。创建库时,会在当前用户环境中创建。因此,该库的所有者是当前用户环境,而不总是 root 用户。 |
-y | 取消确认提示。仅适用于高级用户。 |
vecs-cli force-refresh
强制刷新 VECS。默认情况下,VECS 会每 5 分钟轮询 vmdir 中的新根证书文件。使用此命令即时更新 vmdir 中的 VECS。
选项 | 描述 |
---|---|
--server <server-name> |
如果您连接到远程 VECS 实例,则用于指定服务器名称。 |
--upn <user-name> |
用于登录到--server <server-name> 指定的服务器实例的用户主体名称。创建库时,会在当前用户环境中创建。因此,该库的所有者是当前用户环境,而不总是 root 用户。 |