英语法语西班牙语

Ad


OnWorks 网站图标

certutil - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 certutil

这是可以使用我们的多个免费在线工作站之一(例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器)在 OnWorks 免费托管服务提供商中运行的命令 certutil

程序:

您的姓名


certutil - 管理 NSS 数据库和其他 NSS 令牌中的密钥和证书

概要


CERTUTIL [选项] [[参数]]

状态


该文档仍在进行中。 请参与初步审查
Mozilla的 新高中 错误 836477[1]

商品描述


证书数据库工具, CERTUTIL, 是一个命令行实用程序,可以创建和
修改证书和密钥数据库。 它可以具体列出、生成、修改或
删除证书,创建或更改密码,生成新的公钥和私钥
对,显示密钥数据库的内容,或删除密钥内的密钥对
数据库。

证书颁发是密钥和证书管理过程的一部分,要求
在密钥数据库中创建密钥和证书。 本文档讨论证书
和密钥数据库管理。 有关安全模块数据库管理的信息,
看到 修改器 联机帮助页。

指挥 配置 AND 争论


运行 CERTUTIL 总是需要一个且只有一个命令选项来指定类型
证书操作。 每个命令选项可以采用零个或多个参数。 命令
选项 -H 将列出所有命令选项及其相关参数。

命令 附加选项

-A
将现有证书添加到证书数据库。 证书数据库应该
已经存在; 如果一个不存在,这个命令选项将初始化一个
默认。

-B
从指定的批处理文件运行一系列命令。 这需要 -i 论据。

-C
从二进制证书请求文件创建新的二进制证书文件。 使用
-i 参数来指定证书请求文件。 如果不使用这个参数,
CERTUTIL 提示输入文件名。

-D
从证书数据库中删除证书。

- 改名
更改证书的数据库昵称。

-E
将电子邮件证书添加到证书数据库。

-F
从密钥数据库中删除私钥。 使用 -n 指定要删除的键
争论。 指定要从中删除密钥的数据库 -d 争论。 用
-k 参数以明确指定是否删除 DSA、RSA 或 ECC 密钥。 如果你
不要使用 -k 参数,该选项查找匹配指定的 RSA 密钥
昵称。

删除密钥时,请务必同时删除与这些密钥关联的所有证书
证书数据库中的密钥,使用 -D。 有些智能卡不允许你
删除您生成的公钥。 在这种情况下,只有私钥是
从密钥对中删除。 您可以使用命令 certutil -K 显示公钥
-h 令牌名称。

-G
在密钥数据库中生成新的公钥和私钥对。 关键数据库
应该已经存在; 如果一个不存在,这个命令选项将初始化一个
默认情况下。 一些智能卡只能存储一对密钥。 如果您创建一个新的密钥对
对于这样的卡,前一对被覆盖。

-H
显示命令选项和参数的列表。

-K
列出密钥数据库中密钥的密钥 ID。 密钥 ID 是 RSA 密钥的模数或
DSA 密钥的 publicValue。 ID 以十六进制显示(“0x”未显示)。

-L
列出所有证书,或显示有关命名证书的信息,
证书数据库。 使用 -h tokenname 参数指定证书
特定硬件或软件令牌上的数据库。

-M
使用 -t 参数的值修改证书的信任属性。

-N
创建新的证书和密钥数据库。

-O
打印证书链。

-R
创建可以提交给证书颁发机构的证书请求文件
(CA) 处理成成品证书。 输出默认为标准输出
除非您使用 -o 输出文件参数。 使用 -a 参数指定 ASCII 输出。

-S
创建单个证书并将其添加到证书数据库中。

-T
重置密钥数据库或令牌。

-U
列出所有可用模块或打印单个命名模块。

-V
检查证书的有效性及其属性。

-W
将密码更改为密钥数据库。

- 合并
将两个数据库合并为一个。

--升级合并
升级旧数据库并将其合并到新数据库中。 这用于迁移
旧的 NSS 数据库(cert8.db 和 key3.db)到新的 SQLite 数据库(cert9.db)
和 key4.db)。

参数

参数修改命令选项,通常是小写字母、数字或符号。

-a
使用 ASCII 格式或允许使用 ASCII 格式进行输入或输出。 这种格式
遵循 RFC 1113。对于证书请求,ASCII 输出默认为标准输出
除非重定向。

-b 有效期
指定要求证书有效的时间。 检查时使用
证书有效性与 -V 选项。 的格式 有效期 论点是
YYMMDDHHMMSS[+HHMM|-HHMM|Z], 这允许设置相对于有效性的偏移量
时间结束。 指定秒 (SS) 是可选的。 当指定一个明确的时间时,使用
Z 在学期结束时, YYMMDDDHHMMSSZ, 关闭它。 指定偏移时间时,
使用 YYMMDDHHMMSS+HHMM or YYMMDDHHMMSS-HHMM 用于增加或减少时间,


如果不使用此选项,则有效性检查默认为当前系统时间。

-c 发行人
确定新证书将从其派生的 CA 的证书
真实性。 使用 CA 证书的确切昵称或别名,或使用 CA 的
电子邮件地址。 如果发行者字符串包含空格,则用引号将其括起来。

-d [前缀]目录
指定包含证书和密钥数据库文件的数据库目录。

CERTUTIL 支持两种类型的数据库:遗留安全数据库(cert8.db、
key3.db 和 secmod.db)和新的 SQLite 数据库(cert9.db、key4.db 和 pkcs11.txt)。

NSS 识别以下前缀:

· sql: 请求更新的数据库

· 数据库: 请求遗留数据库

如果未指定前缀,则从 NSS_DEFAULT_DB_TYPE 中检索默认类型。 如果
然后未设置 NSS_DEFAULT_DB_TYPE 数据库: 是默认值。

--dump-ext-val OID
对于单个证书,打印扩展 OID 的二进制 DER 编码。

-e
在验证证书的过程中检查证书的签名。

--email 电子邮件地址
指定要列出的证书的电子邮件地址。 与 -L 命令选项一起使用。

--extGeneric OID:关键标志:文件名[,OID:关键标志:文件名]...
添加一个或多个 certutil 还不能编码的扩展,通过加载它们的
来自外部文件的编码。

· OID(示例):1.2.3.4

· 关键标志:关键或不关键

· 文件名:包含编码扩展名的文件的完整路径

-f 密码文件
指定将自动提供密码以包含在证书中的文件
或访问证书数据库。 这是一个纯文本文件,其中包含一个
密码。 请务必防止未经授权访问此文件。

-g 密钥大小
设置生成新公钥和私钥对时要使用的密钥大小。 最低限度是
512 位,最大为 16384 位。 默认值为 2048 位。 之间的任何尺寸
允许最小值和最大值。

-h 令牌名
指定要使用或操作的令牌的名称。 如果未指定,则默认令牌为
内部数据库插槽。

-i 输入文件
将输入文件传递给命令。 根据命令选项,输入文件可以
可以是特定证书、证书请求文件或命令批处理文件。

-k 键类型或 ID
指定密钥的类型或特定 ID。

有效的密钥类型选项是 rsa、dsa、ec 或 all。 默认值为 rsa。
指定key的类型可以避免重复昵称导致的错误。 给一个
密钥类型生成新的密钥对; 给出现有密钥的 ID 会重用该密钥
对(更新证书所需)。

-l
使用 -V 选项验证证书时显示详细信息。

-m 序列号
为正在创建的证书分配唯一的序列号。 这个操作应该是
由 CA 执行。 如果未提供序列号,则生成默认序列号
从当前时间。 序列号仅限于整数

-n 昵称
指定要列出、创建、添加到数据库的证书或密钥的昵称,
修改或验证。 如果昵称字符串包含,用引号括起来
空格。

-o 输出文件
为新证书或二进制证书请求指定输出文件名。
如果输出文件字符串包含空格,则用引号将其括起来。 如果这
未使用参数输出目标默认为标准输出。

-P db前缀
指定用于证书和密钥数据库文件的前缀。 这个论点是
提供支持旧服务器。 大多数应用程序不使用数据库前缀。

-p 电话
指定要包含在新证书或证书中的联系电话号码
要求。 如果此字符串包含空格,请用引号将其括起来。

-q pqgfile 或曲线名称
生成 DSA 密钥对时,从指定文件中读取备用 PQG 值。 如果
未使用此参数, CERTUTIL 生成自己的 PQG 值。 创建 PQG 文件
使用单独的 DSA 实用程序。

椭圆曲线名称是 SUITE B 中的一个:nistp256、nistp384、nistp521

如果 NSS 已使用 SUITE B 之外的支持曲线编译:sect163k1、nistk163、
sect163r1、sect163r2、nistb163、sect193r1、sect193r2、sect233k1、nistk233、sect233r1、
nistb233、sect239k1、sect283k1、nistk283、sect283r1、nistb283、sect409k1、nistk409、
sect409r1、nistb409、sect571k1、nistk571、sect571r1、nistb571、secp160k1、secp160r1、
secp160r2、secp192k1、secp192r1、nistp192、secp224k1、secp224r1、nistp224、secp256k1、
secp256r1, secp384r1, secp521r1, prime192v1, prime192v2, prime192v3, prime239v1,
prime239v2, prime239v3, c2pnb163v1, c2pnb163v2, c2pnb163v3, c2pnb176v1, c2tnb191v1,
c2tnb191v2, c2tnb191v3, c2pnb208w1, c2tnb239v1, c2tnb239v2, c2tnb239v3, c2pnb272w1,
c2pnb304w1, c2tnb359w1, c2pnb368w1, c2tnb431r1, secp112r1, secp112r2, secp128r1,
secp128r2, sect113r1, sect113r2 sect131r1, sect131r2

-r
在列出有关证书的信息时显示证书的二进制 DER 编码
带有 -L 选项的证书。

-s 主题
确定新证书或证书请求的特定证书所有者。
如果此字符串包含空格,请用引号将其括起来。 主题
标识格式遵循 RFC #1485。

-t 信任参数
指定要在现有证书中修改或应用于
创建证书或将其添加到数据库时。 有三个可用
每个证书的信任类别,以顺序表示 ssl, 电子邮件, 对象
签约 对于每个信任设置。 在每个类别位置,使用 none、any 或 all
属性代码:

· p - 有效的同行

· P - 可信对等点(隐含 p)

· c - 有效的 CA

· T - 可信 CA(隐含 c)

· C - 用于客户端身份验证的可信 CA(仅限 ssl 服务器)

· u - 用户

类别的属性代码用逗号分隔,整个集合
用引号括起来的属性。 例如:

-t "TCu,Cu,Tu"

使用 -L 选项查看当前证书和信任属性的列表
证书数据库。

-u 证书
使用 -V 选项指定验证证书时要应用的使用上下文。

上下文如下:

· C (作为 SSL 客户端)

· V (作为 SSL 服务器)

· L (作为 SSL CA)

· A (作为任何 CA)

· Y (验证 CA)

· S (作为电子邮件签名者)

· R (作为电子邮件收件人)

· O (作为 OCSP 状态响应者)

· J (作为对象签名者)

-v 有效月份
设置新证书的有效月数。 有效期开始
在当前系统时间,除非添加或减去偏移量 -w 选项。
如果不使用该参数,则默认有效期为三个月。

-w 偏移月数
设置从当前系统时间开始的偏移量(以月为单位)
证书的有效期。 在创建证书或将其添加到
数据库。 以整数表示偏移量,使用减号 (-) 表示
负偏移。 如果不使用此参数,则有效期从
当前系统时间。 有效期的长度由 -v 参数设置。

-X
强制以读写模式打开密钥和证书数据库。 这与
-U-L 命令选项。

-x
使用 CERTUTIL 为正在创建或添加到一个证书的证书生成签名
数据库,而不是从单独的 CA 获取签名。

-y 经验值
设置备用指数值以用于生成新的 RSA 公钥
数据库,而不是默认值 65537。可用的替代值是 3
和17。

-z 噪音文件
从指定文件中读取种子值以生成新的私钥和公钥
一对。 此参数使使用硬件生成的种子值或
从键盘手动创建一个值。 最小文件大小为 20 字节。

-Z 哈希算法
指定要与 -C、-S 或 -R 命令选项一起使用的散列算法。 可能的
关键字:

·MD2

·MD4

·MD5

· SHA1

· SHA224

· SHA256

· SHA384

· SHA512

-0 SSO_密码
在令牌上设置站点安全员密码。

-1 | --keyUsage 关键字,关键字
在证书中设置 X.509 V3 证书类型扩展。 有几种
可用关键词:

· 电子签名

· 不可否认

· 密钥加密

· 数据加密

· 关键协议

· 证书签名

· crl签名

· 危急

-2
向正在创建或添加到证书的证书添加基本约束扩展
数据库。 此扩展支持证书链验证过程。
CERTUTIL 提示选择证书约束扩展。

X.509 证书扩展在 RFC 5280 中进行了描述。

-3
向正在创建或添加到证书的证书添加授权密钥 ID 扩展
数据库。 此扩展支持识别特定证书,从
在与一个主题名称关联的多个证书中,作为正确的颁发者
证书。 证书数据库工具会提示您选择授权
密钥 ID 扩展名。

X.509 证书扩展在 RFC 5280 中进行了描述。

-4
将 CRL 分发点扩展添加到正在创建或添加的证书
到数据库。 此扩展名标识证书关联的 URL
证书吊销列表 (CRL)。 CERTUTIL 提示输入 URL。

X.509 证书扩展在 RFC 5280 中进行了描述。

-5 | --nsCertType 关键字,关键字
将 X.509 V3 证书类型扩展添加到正在创建的证书或
添加到数据库中。 有几个可用的关键字:

· ssl客户端

· SSL服务器

·微笑

· 对象签名

· SSLCA

· 斯米CA

· 对象签名CA

· 危急

X.509 证书扩展在 RFC 5280 中进行了描述。

-6 | --extKeyUsage 关键字,关键字
将扩展密钥用法扩展添加到正在创建或添加到的证书
数据库。 有几个关键字可用:

· 服务器验证

· 客户端验证

· 代码签名

· 电子邮件保护

· 时间戳

· ocsp响应器

· 步步高升

· msTrustListSign

· 危急

X.509 证书扩展在 RFC 5280 中进行了描述。

-7 电子邮件地址
将逗号分隔的电子邮件地址列表添加到主题备用名称
正在创建或添加到的证书或证书请求的扩展
数据库。 主题备用名称扩展在第 4.2.1.7 节中描述
RFC 3280。

-8 个 dns 名称
将一个以逗号分隔的 DNS 名称列表添加到
正在创建或添加到数据库的证书或证书请求。
主题备用名称扩展在 RFC 4.2.1.7 的第 3280 节中描述。

--extAIA
将授权信息访问扩展添加到证书。 X.509 证书
RFC 5280 中描述了扩展。

--extSIA
将主题信息访问扩展添加到证书。 X.509 证书
RFC 5280 中描述了扩展。

--extCP
将证书策略扩展添加到证书。 X.509 证书
RFC 5280 中描述了扩展。

--extPM
将策略映射扩展添加到证书。 X.509 证书扩展是
在 RFC 5280 中描述。

--extPC
将策略约束扩展添加到证书。 X.509 证书扩展
在 RFC 5280 中进行了描述。

--extIA
向证书添加禁止任何策略访问扩展。 X.509 证书
RFC 5280 中描述了扩展。

--extSKID
将主题密钥 ID 扩展添加到证书。 X.509 证书扩展是
在 RFC 5280 中描述。

--extNC
向证书添加名称约束扩展。 X.509 证书扩展是
在 RFC 5280 中描述。

--extSAN 类型:名称[,类型:名称]...
创建一个带有一个或多个名称的主题替代名称扩展。

- 类型:目录、dn、dns、edi、ediparty、电子邮件、ip、ipaddr、其他、registerid、
rfc822、uri、x400、x400addr

--空密码
使用 -N 创建新证书数据库时使用空密码。

--keyAttrFlags 属性标志
PKCS #11 关键属性。 关键属性标志的逗号分隔列表,选自
以下选项列表:{token | 会话} {公共| 私人} {敏感 |
不敏感} {可修改 | 不可修改} {extractable | 无法提取}

--keyOpFlagsOn 操作标记,--keyOpFlagsOff 操作标记
PKCS #11 关键操作标志。 以下一项或多项的逗号分隔列表:
{令牌| 会话} {公共| 私人} {敏感 | 不敏感} {可修改 |
不可修改} {extractable | 无法提取}

--new-n 昵称
重命名证书时使用的新昵称。

--source-dir 证书目录
确定要升级的证书数据库目录。

--source-prefix 证书目录
提供要升级的证书和密钥数据库的前缀。

--upgrade-id 唯一ID
提供要升级的数据库的唯一 ID。

--upgrade-token-name 名称
设置要在升级时使用的令牌的名称。

-@pwfile
提供用于正在升级的数据库的密码文件的名称。

用法 AND 示例


此处列出的示例中的大多数命令选项都有更多可用参数。 这
这些示例中包含的参数是最常见的参数或用于说明
具体场景。 使用 -H 显示每个参数的完整列表的选项
命令选项。

创造 全新 安保行业 数据库

与管理证书相关的证书、密钥和安全模块存储在
三个相关数据库:

· cert8.db 或 cert9.db

· key3.db 或 key4.db

· secmod.db 或 pkcs11.txt

必须先创建这些数据库,然后才能生成证书或密钥。

certutil -N -d [sql:]目录

创造 a 认证证书 请求

证书请求包含用于生成证书的大部分或全部信息
最终证书。 此请求单独提交给证书颁发机构,并且
然后通过某种机制(自动或人工审查)批准。 一旦请求被
批准,然后生成证书。

$ certutil -R -k key-type-or-id [-q pqgfile|curve-name] -g key-size -s subject [-h tokenname] -d [sql:]directory [-p phone] [-o输出文件] [-a]

-R 命令选项需要四个参数:

· -k 指定要生成的密钥类型,或者在更新证书时,
要使用的现有密钥对

· -g 设置要生成的密钥的密钥大小

· -s 设置证书的主题名称

· -d 给出安全数据库目录

新的证书请求可以以 ASCII 格式输出 (-a) 或者可以写成
指定文件 (-o).

例如:

$ certutil -R -k rsa -g 1024 -s "CN=John Smith,O=Example Corp,L=Mountain View,ST=California,C=US" -d sql:$HOME/nssdb -p 650-555- 0123 -a -o cert.cer

生成密钥。 这可能需要一些时间...

创造 a 认证证书

有效证书必须由受信任的 CA 颁发。 这可以通过指定 CA 来完成
证书 (-c) 存储在证书数据库中。 如果 CA 密钥对不是
可用,您可以使用 -x-S
命令选项。

$ certutil -S -k rsa|dsa|ec -n certname -s subject [-c issuer |-x] -t trustargs -d [sql:]directory [-m serial-number] [-v valid-months] [ -w offset-months] [-p phone] [-1] [-2] [-3] [-4] [-5 keyword] [-6 keyword] [-7 emailAddress] [-8 dns-names] [ --extAIA] [--extSIA] [--extCP] [--extPM] [--extPC] [--extIA] [--extSKID]

数列和 --分机* 选项设置可以添加到的证书扩展
CA 生成的证书。 将产生交互式提示。

例如,这将创建一个自签名证书:

$ certutil -S -s "CN=Example CA" -n my-ca-cert -x -t "C,C,C" -1 -2 -5 -m 3650

密钥使用的交互提示以及是否有任何扩展是关键的和响应
为简洁起见已省略。

从那里,新证书可以引用自签名证书:

$ certutil -S -s "CN=My Server Cert" -n my-server-cert -c "my-ca-cert" -t "u,u,u" -1 -5 -6 -8 -m 730

发电 a 认证证书 a 认证证书 请求

创建证书请求时,可以使用请求生成证书
然后引用证书颁发机构签名证书( 发行者 指定于
-c 争论)。 颁发证书必须在证书数据库中
指定目录。

certutil -C -c issuer -i cert-request-file -o output-file [-m serial-number] [-v valid-months] [-w offset-months] -d [sql:]directory [-1] [-2] [-3] [-4] [-5 关键字] [-6 关键字] [-7 电子邮件地址] [-8 dns-names]

例如:

$ certutil -C -c "my-ca-cert" -i /home/certs/cert.req -o cert.cer -m 010 -v 12 -w 1 -d sql:$HOME/nssdb -1 nonRepudiation,dataEncipherment -5 sslClient -6 clientAuth -7 [电子邮件保护]

上市 证书

-L 命令选项列出证书数据库中列出的所有证书。
目录路径(-d) 是必须的。

$ certutil -L -d sql:/home/my/sharednssdb

证书昵称信任属性
SSL、S/MIME、JAR/XPI

实例 pki-ca1 的示例域 ID u,u,u 的 CA 管理员
TPS 管理员示例域 ID u,u,u
谷歌互联网管理局,,
证书颁发机构 - 示例域 CT、C、C

使用附加参数 -L 可以返回并打印单个信息,
具体证书。 例如, -n 参数传递证书名称,而
-a 参数以 ASCII 格式打印证书:

$ certutil -L -d sql:$HOME/nssdb -a -n my-ca-cert
-----开始认证-----
MIIB1DCCAT2gAwiBAgICDkIwDQYJKoZIhvcNAQEFBQAwFTETMBEGA1UEAxMKRXhh
bXBsZSBDQTAeFw0xMzAzMTMxOTEwMjlaFw0xMzA2MTMxOTEwMjlaMBUxEzARBgNV
BAMTCkV4YW1wbGUgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJ4Kzqvz
JyBVgFqDXRYSyTBNw1DrxUU/3GvWA/ngjAwHEv0Cul/6sO/gsCvnABHiH6unns6x
XRzPORlC2WY3gkk7vmlsLvYpyecNazAi/NAwVnU/66HOsaoVFWE+gBQo99UrN2yk
0BiK/GMFlLm5dXQROgA9ZKKyFdI0LIXtf6SbAgMBAAGjMzAxMBEGCWCGSAGG+EIB
AQQEAwIHADAMBgNVHRMEBTADAQH/MA4GA1UdDweb/wQEAwICBDANBgkqhkiG9w0B
AQUFAAOBgQA6chkzkACN281d1jKMrc+RHG2UMaQyxiteaLVZO+Ro1nnRUvseDf09
XKYFwPMJjWCihVku6bw/ihZfuMHhxK22Nue6inNQ6eDu7WmrqL8z3iUrQwxs+WiF
ob2rb8XRVVJkzXdXxlk4uo3UtNvw8sAz7sWD71qxKaIHU5q49zijfg==

-----结束证书-----
对于人类可读的显示

$ certutil -L -d sql:$HOME/nssdb -n my-ca-cert
证书:
日期:
版本:3 (0x2)
序列号:3650 (0xe42)
签名算法:使用 RSA 加密的 PKCS #1 SHA-1
发行人:“CN=示例 CA”
有效性:
不是之前:13 年 19 月 10 日星期三 29:2013:XNUMX
之后:13 年 19 月 10 日星期四 29:2013:XNUMX
主题:“CN=示例 CA”
主题公钥信息:
公钥算法:PKCS #1 RSA 加密
RSA 公钥:
模量:
9e:0a:ce:ab:f3:27:20:55:80:5a:83:5d:16:12:c9:30:
4d:c3:50:eb:c5:45:3f:dc:6b:d6:03:f9:e0:8c:0c:07:
12:fd:02:ba:5f:fa:b0:ef:e0:b0:2b:e7:00:11:e2:1f:
ab:a7:9e:ce:b1:5d:1c:cf:39:19:42:d9:66:37:82:49:
3b:be:69:6c:2e:f6:29:c9:e7:0d:6b:30:22:fc:d0:30:
56:75:3f:eb:a1:ce:b1:aa:15:15:61:3e:80:14:28:f7:
d5:2b:37:6c:a4:d0:18:8a:fc:63:05:94:b9:b9:75:74:
11:3a:00:3d:64:a2:b2:15:d2:34:2c:85:ed:7f:a4:9b
指数:65537 (0x10001)
签名扩展:
名称:证书类型
数据:无

名称:证书基本约束
数据:是没有最大路径长度的 CA。

名称:证书密钥使用
关键:正确
用途:证书签名

签名算法:使用 RSA 加密的 PKCS #1 SHA-1
签名:
3a:72:19:33:90:00:8d:db:cd:5d:d6:32:8c:ad:cf:91:
1c:6d:94:31:a4:32:c6:2b:5e:68:b5:59:3b:e4:68:d6:
79:d1:52:fb:1e:0d:fd:3d:5c:a6:05:c0:f3:09:8d:60:
a2:85:59:2e:e9:bc:3f:8a:16:5f:b8:c1:e1:c4:ad:b6:
36:e7:ba:8a:73:50:e9:e0:ee:ed:69:ab:a8:bf:33:de:
25:2b:43:0c:6c:f9:68:85:a1:bd:ab:6f:c5:d1:55:52:
64:cd:77:57:c6:59:38:ba:8d:d4:b4:db:f0:f2:c0:33:
ee:c5:83:ef:5a:b1:29:a2:07:53:9a:b8:f7:38:a3:7e
指纹(MD5):
86:D8:A5:8B:8A:26:BE:9E:17:A8:7B:66:10:6B:27:80
指纹(SHA1):
48:78:09:EF:C5:D4:0C:BD:D2:64:45:59:EB:03:13:15:F7:A9:D6:F7

证书信任标志:
SSL 标志:
有效的 CA
受信任的 CA
用户
电子邮件标志:
有效的 CA
受信任的 CA
用户
对象签名标志:
有效的 CA
受信任的 CA
用户

上市 Keys

密钥是用于加密证书数据的原始材料。 为
证书单独存储在密钥数据库中。

要列出数据库中的所有键,请使用 -K 命令选项和(必需) -d 论点
给出目录的路径。

$ certutil -K -d sql:$HOME/nssdb
certutil:在插槽“NSS 用户私钥和证书服务”中检查令牌“NSS 证书数据库”
< 0> rsa 455a6673bde9375c2887ec8bf8016b3f9f35861d Thawte Freemail 会员的 Thawte Consulting (Pty) Ltd. ID
<1> rsa 40defeeb522ade11090eacebaaf1196a172127df 域管理员证书示例
< 2> rsa 1d0b06f44f6c03842f7d4f4a1dc78b3bcd1b85a5 John Smith user cert

有多种方法可以缩小搜索结果中列出的键的范围:

· 要返回特定的键,请使用 -n姓名 带有键名的参数。

· 如果加载了多个安全设备,则 -h令牌名称 论证可以
搜索特定令牌或所有令牌。

· 如果有多种密钥类型可用,则 -k键类型 参数可以搜索一个
特定类型的密钥,如 RSA、DSA 或 ECC。

上市 安保行业 模块

可用于存储证书的设备——内部数据库和外部数据库
像智能卡这样的设备——通过加载安全模块来识别和使用。 这 -U
命令选项列出了 secmod.db 数据库中列出的所有安全模块。 这
目录路径(-d) 是必须的。

$ certutil -U -d sql:/home/my/sharednssdb

slot:NSS 用户私钥和证书服务
令牌:NSS 证书数据库

插槽:NSS 内部加密服务
令牌:NSS 通用加密服务

添加 证书 数据库

可以手动将现有证书或证书请求添加到证书中
数据库,即使它们是在其他地方生成的。 这使用 -A 命令选项。

certutil -A -n certname -t trustargs -d [sql:] 目录 [-a] [-i 输入文件]

例如:

$ certutil -A -n "CN=我的 SSL 证书" -t "u,u,u" -d sql:/home/my/sharednssdb -i /home/example-certs/cert.cer

一个相关的命令选项, -E, 专门用于将电子邮件证书添加到
证书数据库。 这 -E 命令的参数与 -A 命令。 信任
证书参数的格式为 SSL、S/MIME、代码签名,所以中间信任
设置与电子邮件证书最相关(尽管可以设置其他设置)。 例如:

$ certutil -E -n "CN=John Smith Email Cert" -t ",Pu," -d sql:/home/my/sharednssdb -i /home/example-certs/email.cer

删除 证书 数据库

可以使用以下命令从数据库中删除证书 -D 选项。 唯一需要的选项
是给出安全数据库目录并标识证书昵称。

certutil -D -d [sql:]directory -n "昵称"

例如:

$ certutil -D -d sql:/home/my/sharednssdb -n "my-ssl-cert"

证实 证书

证书本身包含一个过期日期,过期的证书很容易
拒绝了。 但是,证书也可以在到期日期之前被撤销。
检查证书是否已被吊销需要验证证书。
验证还可用于确保证书仅用于以下目的
它最初是为. 验证由 -V 命令选项。

certutil -V -n 证书名称 [-b 时间] [-e] [-u cert-usage] -d [sql:]目录

例如,要验证电子邮件证书:

$ certutil -V -n "John Smith 的电子邮件证书" -e -u S,R -d sql:/home/my/sharednssdb

修改 认证证书 信任 个人设置

信任设置(与允许证书的操作相关)
used for) 可以在证书创建或添加到数据库后更改。 这是
对 CA 证书特别有用,但它可以用于任何类型的
证书。

certutil -M -n 证书名称 -t trust-args -d [sql:]目录

例如:

$ certutil -M -n "我的 CA 证书" -d sql:/home/my/sharednssdb -t "CTu,CTu,CTu"

印刷 认证证书 链条类型

证书可以在 因为每个证书颁发机构本身都有一个
证书; 当 CA 颁发证书时,它本质上是在该证书上加盖戳记
自己的指纹。 这 -O 打印证书的完整链,从初始开始
CA(根 CA)通过中间 CA 获得实际证书。 例如,对于
链中具有两个 CA 的电子邮件证书:

$ certutil -d sql:/home/my/sharednssdb -O -n"[电子邮件保护]"
“内置对象令牌:Thawte Personal Freemail CA” [E=[电子邮件保护],CN=Thawte Personal Freemail CA,OU=认证服务部,O=Thawte Consulting,L=开普敦,ST=西开普,C=ZA]

"Thawte Personal Freemail Issuing CA - Thawte Consulting" [CN=Thawte Personal Freemail Issuing CA,O=Thawte Consulting (Pty) Ltd.,C=ZA]

"(null)" [E=[电子邮件保护],CN=Thawte Freemail 会员]

重置 a Token

存储证书的设备——外部硬件设备和内部
软件数据库——可以清空和重复使用。 此操作在设备上执行
它存储数据,而不是直接存储在安全数据库上,因此位置必须是
通过令牌名称(-h) 以及任何目录路径。 如果没有
使用外部令牌,默认值为内部。

certutil -T -d [sql:]目录 -h 令牌名称 -0 安全官员密码

许多网络都有专门的人员来处理安全令牌(安全令牌)的更改
官)。 此人必须提供密码才能访问指定的令牌。 例如:

$ certutil -T -d sql:/home/my/sharednssdb -h nethsm -0 秘密

升级 or 合并 安保行业 数据库

许多网络或应用程序可能使用旧版 BerkeleyDB 证书
数据库(cert8.db)。 数据库可以升级到新的 SQLite 版本的数据库
(cert9.db) 使用 --升级合并 命令选项或现有数据库可以合并
使用新的 cert9.db 数据库 - -合并 命令。

--升级合并 命令必须提供有关原始数据库的信息,然后使用
标准参数(如 -d) 以提供有关新数据库的信息。 这
命令还需要该工具用于升级和写入进程的信息
在原始数据库上。

certutil --upgrade-merge -d [sql:]directory [-P dbprefix] --source-dir directory --source-prefix dbprefix --upgrade-id id --upgrade-token-name name [-@ password-file ]

例如:

$ certutil --upgrade-merge -d sql:/home/my/sharednssdb --source-dir /opt/my-app/alias/ --source-prefix serverapp- --upgrade-id 1 --upgrade-token-内部名称

- 合并 命令只需要有关原始数据库位置的信息;
因为它不会改变数据库的格式,所以它可以在不改变信息的情况下改写信息
执行临时步骤。

certutil --merge -d [sql:]directory [-P dbprefix] --source-dir 目录 --source-prefix dbprefix [-@ 密码文件]

例如:
$ certutil --merge -d sql:/home/my/sharednssdb --source-dir /opt/my-app/alias/ --source-prefix serverapp-
运行 CERTUTIL 命令 a 批量 文件

一系列命令可以从一个文本文件顺序运行 -B 命令选项。
这个的唯一参数指定输入文件。

$ certutil -B -i /path/to/批处理文件

新高中 数据库 类型


NSS 最初使用 BerkeleyDB 数据库来存储安全信息。 最后的版本
这些 遗产 数据库是:

· cert8.db 用于证书

· key3.db 用于密钥

· secmod.db 用于 PKCS #11 模块信息

但是,BerkeleyDB 有性能限制,这阻止了它被
多个应用程序同时进行。 NSS 具有一定的灵活性,允许应用程序
使用他们自己的独立数据库引擎,同时保持共享数据库和工作
围绕访问问题。 尽管如此,NSS 需要更大的灵活性来提供真正共享的
安全数据库。

2009 年,NSS 引入了一组新的数据库,这些数据库是 SQLite 数据库而不是
伯克利数据库。 这些新数据库提供了更多的可访问性和性能:

· cert9.db 用于证书

· key4.db 用于密钥

· pkcs11.txt,所有 PKCS #11 模块的列表,包含在一个新的子目录中
在安全数据库目录中

因为 SQLite 数据库被设计为共享的,所以这些是 共用的, 数据库
类型。 共享数据库类型优先; 旧格式包含在向后
兼容性。

默认情况下,工具 (CERTUTIL, pk12util, 修改器) 假设给定的安全性
数据库遵循更常见的遗留类型。 必须手动使用 SQLite 数据库
通过使用指定 sql: 给定安全目录的前缀。 例如:

$ certutil -L -d sql:/home/my/sharednssdb

要将共享数据库类型设置为工具的默认类型,请设置
NSS_DEFAULT_DB_TYPE 环境变量 SQL:

导出 NSS_DEFAULT_DB_TYPE="sql"

此行可以设置添加到 在〜/ .bashrc 文件以使更改永久化。

大多数应用程序默认不使用共享数据库,但可以将它们配置为
使用它们。 例如,这篇文章介绍了如何配置 Firefox 和 Thunderbird
使用新的共享 NSS 数据库:

· https://wiki.mozilla.org/NSS_Shared_DB_Howto

有关共享 NSS 数据库更改的工程草案,请参阅 NSS 项目
维基:

· https://wiki.mozilla.org/NSS_Shared_DB

使用 onworks.net 服务在线使用 certutil


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad