'\" te .\" Copyright (c) 2007, 2013, Oracle and/or its affiliates.All rights reserved. .TH pkgsign 1 "2013 年 5 月 21 日" "SunOS 5.11" "用户命令" .SH 名称 pkgsign \- 映像包管理系统签名实用程序 .SH 用法概要 .LP .nf /usr/bin/pkgsign [-a \fIhash_algorithm\fR] [-c \fIpath_to_signing_certificate\fR] [-i \fIpath_to_intermediate_cert\fR] \&.\&.\&. [-k \fIpath_to_private_key\fR] [-n] -s \fIpath_or_uri\fR [--help] [--no-index] [--no-catalog] (\fIfmri\fR|\fIpattern\fR) \&.\&.\&. .fi .SH 描述 .sp .LP 通过使用提供的密钥和证书添加签名操作,\fBpkgsign\fR 可在系统信息库中更新给定 FMRI 的清单。修改后的软件包保留原来的时间戳。 .SH 选项 .sp .LP 支持以下选项: .sp .ne 2 .mk .na \fB\fB--help\fR\fR .ad .br .sp .6 .RS 4n 显示用法消息。 .RE .sp .ne 2 .mk .na \fB\fB-a\fR \fIhash_algorithm\fR\fR .ad .br .sp .6 .RS 4n 使用签名算法 \fIhash_algorithm \fR 而不是缺省值。缺省签名算法为 \fB rsa-sha256\fR。支持的签名算法包括 \fBrsa-sha256\fR、\fBrsa-sha384\fR、\fBrsa-sha512\fR、\fBsha256\fR、\fBsha384\fR 和 \fBsha512\fR。仅指定散列算法的签名算法会导致签名值为软件包清单的散列。指定 \fBrsa \fR 和散列算法的签名算法会导致签名值为使用提供的私钥进行签名的清单的散列(请参见 \fB-c\fR 和 \fB- k\fR 选项)。 .RE .sp .ne 2 .mk .na \fB\fB-c\fR \fIpath_to_signing_certificate\fR\fR .ad .br .sp .6 .RS 4n 添加证书 \fIpath_to_signing_certificate\fR 作为验证操作中的签名值时所使用的证书。\fB-c\fR 选项仅可以与 \fB-k\fR 选项一起使用。 .RE .sp .ne 2 .mk .na \fB\fB-i\fR \fIpath_to_intermediate_cert\fR\fR .ad .br .sp .6 .RS 4n 添加证书 \fIpath_to_intermediate_cert\fR 作为验证证书 \fIpath_to_signing_certificate \fR(作为参数提供给 \fB-c\fR)时所使用的证书。通过多次指定 \fB-i\fR,可提供多个证书。 .RE .sp .ne 2 .mk .na \fB\fB-k\fR \fIpath_to_private_key\fR\fR .ad .br .sp .6 .RS 4n 使用存储在 \fIpath_to_private_key \fR 中的私钥对清单进行签名。\fB-k\fR 选项只能与 \fB-c\fR 选项一起使用。如果未设置 \fB-k\fR,则签名值为清单的散列。 .RE .sp .ne 2 .mk .na \fB\fB-n\fR\fR .ad .br .sp .6 .RS 4n 执行试运行,不以任何方式更改系统信息库。 .RE .sp .ne 2 .mk .na \fB\fB-s\fR \fIpath_or_uri\fR\fR .ad .br .sp .6 .RS 4n 对位于 \fIpath_or_uri \fR 的系统信息库中的软件包进行签名。 .RE .sp .ne 2 .mk .na \fB\fB--no-index\fR\fR .ad .br .sp .6 .RS 4n 在重新发布已签名的清单后不更新系统信息库搜索索引。 .RE .sp .ne 2 .mk .na \fB\fB--no-catalog\fR\fR .ad .br .sp .6 .RS 4n 在重新发布已签名的清单后不更新系统信息库目录。 .RE .SH 示例 .LP \fB示例 1\fR 使用清单的散列值进行签名 .sp .LP 使用清单的散列值对发布到 \fBhttp://localhost:10000\fR 的软件包进行签名。这通常用于测试。 .sp .in +2 .nf $ \fBpkgsign -s http://localhost:10000 -a sha256 \e\fR \fBexample_pkg@1\&.0,5\&.11-0:20100626T030108Z\fR .fi .in -2 .sp .LP \fB示例 2\fR 使用密钥和证书进行签名 .sp .LP 使用 \fBrsa-sha384\fR 对发布到位于 \fB/foo/bar\fR 的文件系统信息库的软件包进行签名,以便对清单执行散列和签名操作。签名密钥位于 \fB/key/usr2\&.key\fR 中,其关联的证书位于 \fB/key/usr2\&.cert\fR 中,而用于验证证书的证书位于 \fB/icerts/usr1\&.cert\fR 中。 .sp .in +2 .nf $ \fBpkgsign -s file:///foo/bar/ -a rsa-sha384 \e\fR \fB-k /key/usr2\&.key -c /key/usr2\&.cert -i /icerts/usr1\&.cert \e\fR \fBexample_pkg@1\&.0,5\&.11-0:20100626T031341Z\fR .fi .in -2 .sp .SH 退出状态 .sp .LP 将返回以下退出值: .sp .ne 2 .mk .na \fB\fB0\fR\fR .ad .RS 6n .rt 命令成功。 .RE .sp .ne 2 .mk .na \fB\fB1\fR\fR .ad .RS 6n .rt 出现错误。 .RE .sp .ne 2 .mk .na \fB\fB2\fR\fR .ad .RS 6n .rt 指定的命令行选项无效。 .RE .sp .ne 2 .mk .na \fB\fB3\fR\fR .ad .RS 6n .rt 请求了多项操作,但只有一部分操作成功。 .RE .sp .ne 2 .mk .na \fB\fB99\fR\fR .ad .RS 6n .rt 发生了意外的异常。 .RE .SH 属性 .sp .LP 有关下列属性的说明,请参见 \fBattributes\fR(5): .sp .TS tab( ) box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性类型 属性值 _ 可用性 \fBpackage/pkg\fR _ 接口稳定性 Uncommitted(未确定) .TE .SH 另请参见 .sp .LP \fBpkg\fR(1)、\fBpkgrecv\fR(1)、\fBpkgsend\fR(1)、\fBpkgrepo\fR(1)、\fBpkg\fR(5) .sp .LP \fBhttps://java\&.net/projects/ips/pages/Home\fR