跳过导航链接 | |
退出打印视图 | |
手册页第 1 部分:用户命令 Oracle Solaris 11.1 Information Library (简体中文) |
- 对二进制文件签名
/usr/bin/elfsign sign [-v] -k private_key -c certificate_file -e elf_object [-F format] [file]...
/usr/bin/elfsign sign [-v] -c certificate_file -e elf_object -T token_label [-P pin_file] [-F format] [file]...
/usr/bin/elfsign verify [-c certificate_file] [-v] -e elf_object [file]...
/usr/bin/elfsign request -r certificate_request_file {-k private_key | -T token_label}
/usr/bin/elfsign list -f field -c certificate_file
/usr/bin/elfsign list -f field -e elf_object
列出单个证书文件或已签名的 elf 目标文件的标准输出信息。选定的字段显示在一行中。如果指定的字段不适用于指定的文件,此命令将终止,且没有标准输出。此子命令的此输出用于供脚本或其他命令使用。
生成一个私钥和一个 PKCS#10 证书请求。PKCS#10 证书请求供 Solaris 加密框架使用。如果将在令牌设备中创建私钥,elfsign 会提示您输入更新令牌设备所需的 PIN。要获取证书,应将 PKCS#10 证书请求发送到以下电子邮件地址 solaris-crypto-req_ww@oracle.com。
用户使用 elfsign 对要在 Solaris 加密框架中使用的二进制文件进行签名之前,必须首先生成证书请求并取得证书。
使用给定的私钥和证书文件为 elf 目标文件签名。
验证现有的签名目标文件。使用给定的证书,或在 /etc/crypto/certs 中搜索合适的证书(如果未指定 -c)。
支持以下选项:
指定 PEM/PKCS#7 或 ASN.1 BER 格式的 X.509 证书所在的路径。
指定要签名或验证的目标文件所在的路径。
对多个目标文件进行签名或验证时,可多次指定 -e 选项。
对于 sign 子命令,指定签名的格式。有效的格式选项包括
Solaris 10 及其更新的缺省格式,rsa_md5_sha1 格式已过时。
此发行版的缺省格式。
rsa_md5_sha1 以外的格式在签名中还包括一个信息时间戳,表示应用签名的时间。此时间戳没有采用加密形式来保证安全,也不用于验证。
对于 list 子命令,指定输出中应显示的字段。
证书文件的有效字段说明符包括:
主题 DN(Distinguished Name,标识名)
签发者 DN
elf 目标文件的有效字段说明符包括:
签名的格式
目标文件签名所用证书的主题 DN
应用签名的时间,格式采用语言环境的缺省格式
指定不使用 PKCS#11 令牌时的私钥文件位置。此文件为 RSA 私钥文件,其格式为 Solaris 特定格式。用于 request 子命令时,此文件是新生成的密钥的输出文件。
同时指定 -k 和 -T 选项会出错。
指定访问令牌设备所用的 PIN 保存在哪个文件中。如果未在 pin_file 中提供 PIN,elfsign 将提示您输入 PIN。
指定 -P 选项而不指定 -T 选项会出错。
指定 PKCS#10 格式的证书请求文件所在的路径。
指定存储私钥的 PCKS#11 令牌设备的标签,标签由 pktool 提供。
同时指定 -T 和 -k 选项会出错。
请求提供更为详细的信息。附加输出包括签名者和为目标文件签名的时间(如果签名格式中包含签名时间)。此输出不是稳定的可解析输出。
支持下列操作数:
要签名或验证的一个或多个 elf 目标文件。必须至少指定一个 elf 目标文件,要么通过 -e 选项指定,要么在所有其他选项后指定。
示例 1 使用某个文件中的密钥/证书为 ELF 目标文件签名
example$ elfsign sign -k myprivatekey -c mycert -e lib/libmylib.so.1
示例 2 验证 elf 目标文件的签名
example$ elfsign verify -c mycert -e lib/libmylib.so.1 elfsign: verification of lib/libmylib.so.1 passed
示例 3 生成证书请求
example$ elfsign request -k mykey -r req.pkcs10 Enter Company Name / Stock Symbol or some other globally unique identifier. This will be the prefix of the Certificate DN: SUNW
示例 4 确定有关目标文件的信息
example$ elfsign list -f format -e lib/libmylib.so.1 rsa_md5_sha1 example$ elfsign list -f signer -e lib/libmylib.so.1 CN=VENDOR, OU=Software Development, O=Vendor Inc.
将返回以下退出值:
|
未使用 -c 标志时,供 verify 子命令搜索的目录
有关下列属性的说明,请参见 attributes(5):
|
elfsign 命令及其子命令是 "Committed"(已确定)。尽管应用程序不应依赖于 elfsign 的输出格式,但 list 子命令的输出格式仍为 "Committed"(已确定)。
date(1)、pktool(1)、cryptoadm(1M)、libpkcs11(3LIB)、attributes(5)