JavaScript is required to for searching.
跳过导航链接
退出打印视图
映像包管理系统手册页     Oracle Solaris 11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

用户命令

packagemanager(1)

pkg(1)

pkgdepend(1)

pkgdiff(1)

pkgfmt(1)

pkglint(1)

pkgmerge(1)

pkgmogrify(1)

pkgrecv(1)

pkgrepo(1)

pkgsend(1)

pkgsign(1)

pm-updatemanager(1)

系统管理命令

标准、环境和宏

pkgsign

- 映像包管理系统签名实用程序

用法概要

/usr/bin/pkgsign [-a hash_algorithm]
    [-c path_to_signing_certificate]
    [-i path_to_intermediate_cert] ...
    [-k path_to_private_key] [-n] -s path_or_uri
    [--help] [--no-index] [--no-catalog]
    (fmri|pattern) ...

描述

通过使用提供的密钥和证书添加签名操作,pkgsign 可在系统信息库中更新给定 FMRI 的清单。修改后的软件包保留原来的时间戳。

选项

支持以下选项:

使用 -a 时,将使用签名算法 hash_algorithm 而不是缺省值。缺省签名算法为 rsa-sha256。支持的签名算法包括 rsa-sha256rsa-sha384rsa-sha512sha256sha384sha512。仅指定散列算法的签名算法会导致签名值为软件包清单的散列。指定 rsa 和散列算法的签名算法会导致签名值为使用提供的私钥签名的清单的散列(请参见 -c- k 选项)。

使用 -c 时,将添加证书 path_to_signing_certificate 作为验证操作中的签名值时所使用的证书。-c 选项仅可以与 -k 选项一起使用。

使用 -i 时,将添加证书 path_to_intermediate_cert 作为验证证书 path_to_signing_certificate(作为参数提供给 -c)时所使用的证书。通过多次指定 -i,可提供多个证书。

使用 -k 时,将使用存储在 path_to_private_key 中的私钥对清单进行签名。-k 选项仅可以与 -c 选项一起使用。如果未设置 -k,则签名值为清单的散列。

使用 -n 时,将执行试运行,它不会以任何方式更改系统信息库。

使用 -s 时,将对位于 path_or_uri 的系统信息库中的软件包进行签名。

使用 --help 时,将显示用法消息。

使用 --no-index 时,在重新发布已签名的清单后不更新系统信息库搜索索引。

使用 --no-catalog 时,将在重新发布已签名的清单后不更新系统信息库目录。

示例

示例 1 使用清单的散列值进行签名

使用清单的散列值对发布到 http://localhost:10000 的软件包进行签名。这通常用于测试。

$ pkgsign -s http://localhost:10000 -a sha256 \
example_pkg@1.0,5.11-0:20100626T030108Z

示例 2 使用密钥和证书进行签名

使用 rsa-sha384 对发布到位于 /foo/bar 的文件系统信息库的软件包进行签名,以便对清单执行散列和签名操作。签名密钥位于 /key/usr2.key 中,其关联的证书位于 /key/usr2.cert 中,而用于验证证书的证书位于 /icerts/usr1.cert 中。

$ pkgsign -s file:///foo/bar/ -a rsa-sha384 \
-k /key/usr2.key -c /key/usr2.cert -i /icerts/usr1.cert \
example_pkg@1.0,5.11-0:20100626T031341Z

退出状态

将返回以下退出值:

0

命令成功。

1

出现错误。

2

指定的命令行选项无效。

3

请求了多项操作,但只有一部分操作成功。

99

发生了意外的异常。

属性

有关下列属性的说明,请参见 attributes(5):

属性类型
属性值
可用性
package/pkg
接口稳定性
Uncommitted(未确定)

另请参见

pkg(1)pkgrecv(1)pkgsend(1)、pkgrepo(1)pkg(5)

http://hub.opensolaris.org/bin/view/Project+pkg/