openssl-spkac
名称
openssl-spkac - SPKAC 打印和生成命令
概要
openssl spkac [-help] [-in 文件名] [-out 文件名] [-digest 摘要] [-key 文件名|uri] [-keyform DER|PEM|P12|ENGINE] [-passin 参数] [-challenge 字符串] [-pubkey] [-spkac spkac名称] [-spksect 部分] [-noout] [-verify] [-engine id] [-provider 名称] [-provider-path 路径] [-propquery propq]
描述
此命令处理 Netscape 签名公钥和挑战 (SPKAC) 文件。 它可以打印其内容、验证签名并从提供的私钥生成自己的 SPKAC。
选项
- -help
-
打印用法信息。
- -in 文件名
-
指定要从中读取的输入文件名,如果未指定此选项,则为标准输入。 如果使用 -key 选项,则忽略。
- -out 文件名
-
指定要写入的输出文件名,默认情况下为标准输出。
- -digest 摘要
-
使用指定的 摘要 对创建的 SPKAC 文件进行签名。 默认摘要算法为 MD5。
- -key 文件名|uri
-
使用 文件名 或 uri 指定的私钥创建 SPKAC 文件。 如果存在 -in、-noout、-spksect 和 -verify 选项,则忽略这些选项。
- -keyform DER|PEM|P12|ENGINE
-
密钥格式;默认情况下未指定。 有关详细信息,请参见 openssl-format-options(1)。
- -passin 参数
-
输入文件密码源。 有关 参数 格式的更多信息,请参见 openssl-passphrase-options(1)。
- -challenge 字符串
-
如果正在创建 SPKAC,则指定挑战字符串。
- -spkac spkac名称
-
允许包含 SPKAC 的变量使用替代名称形式。 默认值为 "SPKAC"。 此选项会影响生成的 SPKAC 文件和输入 SPKAC 文件。
- -spksect 部分
-
允许包含 SPKAC 的部分使用替代名称形式。 默认值为默认部分。
- -noout
-
不要输出 SPKAC 的文本版本(如果正在创建 SPKAC,则不使用)。
- -pubkey
-
输出 SPKAC 的公钥(如果正在创建 SPKAC,则不使用)。
- -verify
-
验证提供的 SPKAC 上的数字签名。
- -engine id
-
参见 openssl(1) 中的 "引擎选项"。 此选项已弃用。
- -provider 名称
- -provider-path 路径
- -propquery propq
示例
打印 SPKAC 的内容
openssl spkac -in spkac.cnf
验证 SPKAC 的签名
openssl spkac -in spkac.cnf -noout -verify
使用挑战字符串 "hello" 创建 SPKAC
openssl spkac -key key.pem -challenge hello -out spkac.cnf
SPKAC 示例(长行拆分为清晰度)
SPKAC=MIG5MGUwXDANBgkqhkiG9w0BAQEFAANLADBIAkEA\
1cCoq2Wa3Ixs47uI7FPVwHVIPDx5yso105Y6zpozam135a\
8R0CpoRvkkigIyXfcCjiVi5oWk+6FfPaD03uPFoQIDAQAB\
FgVoZWxsbzANBgkqhkiG9w0BAQQFAANBAFpQtY/FojdwkJ\
h1bEIYuc2EeM2KHTWPEepWYeawvHD0gQ3DngSC75YCWnnD\
dq+NQ3F+X4deMx9AaEglZtULwV4=
备注
可以将创建的 SPKAC(附加了合适的 DN 组件)馈送到 openssl-ca(1)。
SPKAC 通常在证书注册过程中提交包含 KEYGEN 标签的表单时由 Netscape 生成。
挑战字符串允许以原始形式证明私钥的占有权。 通过检查 SPKAC 签名和随机挑战字符串,可以保证用户知道要认证的公钥对应的私钥。 这在某些应用中很重要。 没有它,有可能使用之前的 SPKAC 执行 "重放攻击"。
参见
历史
-engine 选项在 OpenSSL 3.0 中已弃用。
-digest 选项在 OpenSSL 3.0 中添加。
版权
版权所有 2000-2021 OpenSSL 项目作者。 保留所有权利。
根据 Apache 许可证 2.0(“许可证”)授权。 除非遵守许可证,否则您不得使用此文件。 您可以在源代码分发中的 LICENSE 文件或 https://www.openssl.org/source/license.html 中获取副本。