英語フランス語スペイン語

Ad


OnWorksファビコン

certutil - クラウド上のオンライン

Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、またはMACOSオンラインエミュレーターを介してOnWorks無料ホスティングプロバイダーでcertutilを実行します

これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションのXNUMXつを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドcertutilです。

プログラム:

NAME


certutil-NSSデータベースと他のNSSトークンの両方でキーと証明書を管理します

SYNOPSIS


certutilを [オプション] [[引数]]

ステータス


このドキュメントはまだ進行中です。 の最初のレビューに貢献してください
モジラ NSS バグ 836477【1]

DESCRIPTION


証明書データベースツール、 certutilをは、作成および作成できるコマンドラインユーティリティです。
証明書とキーデータベースを変更します。 具体的には、リスト、生成、変更、または
証明書の削除、パスワードの作成または変更、新しい公開鍵と秘密鍵の生成
ペア、キーデータベースの内容の表示、またはキー内のキーペアの削除
データベース。

キーと証明書の管理プロセスの一部である証明書の発行には、
キーと証明書は、キーデータベースに作成されます。 このドキュメントでは、証明書について説明します
および主要なデータベース管理。 セキュリティモジュールのデータベース管理については、
見る modutil マンページ。

COMMAND OPTIONS そして 議論


Running: certutilを 次のタイプを指定するには、常にXNUMXつのコマンドオプションのみが必要です。
証明書の操作。 各コマンドオプションは、XNUMX個以上の引数を取ることができます。 コマンド
オプション -H すべてのコマンドオプションとそれに関連する引数が一覧表示されます。

Command オプション

-A
既存の証明書を証明書データベースに追加します。 証明書データベースは
すでに存在しています; 存在しない場合、このコマンドオプションは次のように初期化します。
デフォルト。

-B
指定されたバッチファイルから一連のコマンドを実行します。 これには、 -i 引数。

-C
バイナリ証明書要求ファイルから新しいバイナリ証明書ファイルを作成します。 使用
-i 証明書要求ファイルを指定する引数。 この引数を使用しない場合、
certutilを ファイル名の入力を求めます。

-D
証明書データベースから証明書を削除します。

-名前を変更
証明書のデータベースニックネームを変更します。

-E
電子メール証明書を証明書データベースに追加します。

-F
鍵データベースから秘密鍵を削除します。 削除するキーを-nで指定します
口論。 キーを削除するデータベースを指定します -d 口論。 使用する
  -k DSA、RSA、またはECCキーを削除するかどうかを明示的に指定する引数。 もし、あんたが
を使用しないでください -k 引数の場合、オプションは指定されたRSAキーに一致するものを探します
ニックネーム。

キーを削除するときは、それらに関連付けられている証明書もすべて削除してください。
-Dを使用して、証明書データベースからキーを取得します。 一部のスマートカードでは、
生成した公開鍵を削除します。 このような場合、秘密鍵のみが
キーペアから削除されました。 コマンドcertutil-Kを使用して公開鍵を表示できます。
-hトークン名。

-G
鍵データベース内に新しい公開鍵と秘密鍵のペアを生成します。 鍵データベース
すでに存在しているはずです。 存在しない場合、このコマンドオプションはXNUMXつを初期化します
デフォルトでは。 一部のスマートカードは、XNUMXつのキーペアしか保存できません。 新しいキーペアを作成する場合
このようなカードの場合、前のペアが上書きされます。

-H
コマンドオプションと引数のリストを表示します。

-K
キーデータベース内のキーのキーIDを一覧表示します。 キーIDは、RSAキーのモジュラスまたは
DSAキーのpublicValue。 IDは0進数で表示されます(「XNUMXx」は表示されません)。

-L
すべての証明書を一覧表示するか、名前付き証明書に関する情報を表示します。
証明書データベース。 -h tokenname引数を使用して、証明書を指定します
特定のハードウェアまたはソフトウェアトークン上のデータベース。

-M
-t引数の値を使用して、証明書の信頼属性を変更します。

-N
新しい証明書とキーデータベースを作成します。

-O
証明書チェーンを印刷します。

-R
認証局に送信できる証明書要求ファイルを作成します
(CA)完成した証明書に処理するため。 出力のデフォルトは標準出力です
-ooutput-file引数を使用しない限り。 -a引数を使用して、ASCII出力を指定します。

-S
個別の証明書を作成し、証明書データベースに追加します。

-T
キーデータベースまたはトークンをリセットします。

-U
使用可能なすべてのモジュールを一覧表示するか、XNUMXつの名前付きモジュールを印刷します。

-V
証明書とその属性の有効性を確認してください。

-W
パスワードをキーデータベースに変更します。

- マージ
XNUMXつのデータベースをXNUMXつにマージします。

-アップグレード-マージ
古いデータベースをアップグレードして、新しいデータベースにマージします。 これは移行に使用されます
従来のNSSデータベース(cert8.dbおよびkey3.db)を新しいSQLiteデータベース(cert9.db)に追加
およびkey4.db)。

Arguments

引数はコマンドオプションを変更し、通常は小文字、数字、または記号です。

-a
ASCII形式を使用するか、入力または出力にASCII形式の使用を許可します。 このフォーマット
RFC 1113に準拠しています。証明書要求の場合、ASCII出力はデフォルトで標準出力になります。
リダイレクトされない限り。

-b有効期間
証明書が有効である必要がある時刻を指定します。 チェック時に使用
との証明書の有効性 -V オプション。 のフォーマット 有効期間-時間 引数は
YYMMDDHHMMSS [+ HHMM | -HHMM | Z]、有効性に関連してオフセットを設定できます
終了時間。 秒の指定(SS)はオプションです。 明示的な時間を指定する場合は、
期末のZ、 YYMMDDHHMMSSZ、閉じる。 オフセット時間を指定する場合、
つかいます YYMMDDHHMMSS + HHMM or YYMMDDHHMMSS-HHMM 時間を加算または減算するため、


このオプションを使用しない場合、有効性チェックはデフォルトで現在のシステム時刻になります。

-c発行者
新しい証明書が派生するCAの証明書を特定します
信憑性。 CA証明書の正確なニックネームまたはエイリアスを使用するか、CAの
電子メールアドレス。 スペースが含まれている場合は、発行者の文字列を引用符で囲みます。

-d [プレフィックス]ディレクトリ
証明書とキーデータベースファイルを含むデータベースディレクトリを指定します。

certutilを 8種類のデータベースをサポートします:レガシーセキュリティデータベース(certXNUMX.db、
key3.db、secmod.db)および新しいSQLiteデータベース(cert9.db、key4.db、およびpkcs11.txt)。

NSSは、次のプレフィックスを認識します。

· sql: 新しいデータベースを要求します

· dbm: レガシーデータベースを要求します

プレフィックスが指定されていない場合、デフォルトのタイプはNSS_DEFAULT_DB_TYPEから取得されます。 もしも
NSS_DEFAULT_DB_TYPEが設定されていない場合 dbm: デフォルトです。

--dump-ext-val OID
単一の証明書の場合、拡張OIDのバイナリDERエンコーディングを出力します。

-e
証明書の検証プロセス中に証明書の署名を確認してください。

-メールメールアドレス
リストする証明書の電子メールアドレスを指定します。 -Lコマンドオプションとともに使用されます。

--extGeneric OID:critical-flag:filename [、OID:critical-flag:filename] .. ..
certutilがまだエンコードできないXNUMXつまたは複数の拡張機能を、それらをロードして追加します。
外部ファイルからのエンコーディング。

・OID(例):1.2.3.4

・クリティカルフラグ:クリティカルまたは非クリティカル

・ファイル名:エンコードされた拡張子を含むファイルへのフルパス

-fパスワードファイル
証明書に含めるパスワードを自動的に提供するファイルを指定します
または証明書データベースにアクセスします。 これはXNUMXつを含むプレーンテキストファイルです
パスワード。 このファイルへの不正アクセスを防止してください。

-gキーサイズ
新しい公開鍵と秘密鍵のペアを生成するときに使用する鍵サイズを設定します。 最小値は
512ビットで、最大は16384ビットです。 デフォルトは2048ビットです。 間の任意のサイズ
最小値と最大値が許可されます。

-hトークン名
使用または操作するトークンの名前を指定します。 指定されていない場合、デフォルトのトークンは
内部データベーススロット。

-i 入力ファイル
入力ファイルをコマンドに渡します。 コマンドオプションに応じて、入力ファイルは
特定の証明書、証明書要求ファイル、またはコマンドのバッチファイルである必要があります。

-kkey-type-or-id
キーのタイプまたは特定のIDを指定します。

有効なキータイプオプションは、rsa、dsa、ec、またはallです。 デフォルト値はrsaです。
キーの種類を指定することで、ニックネームの重複による間違いを防ぐことができます。 与える
キータイプは新しいキーペアを生成します。 既存のキーのIDを指定すると、そのキーが再利用されます
ペア(証明書を更新するために必要です)。

-l
-Vオプションを使用して証明書を検証するときに、詳細情報を表示します。

-mシリアル番号
作成する証明書に一意のシリアル番号を割り当てます。 この操作は
CAによって実行されます。 シリアル番号が指定されていない場合、デフォルトのシリアル番号が作成されます
現在の時刻から。 シリアル番号は整数に制限されています

-nニックネーム
リスト、作成、データベースへの追加を行う証明書またはキーのニックネームを指定し、
変更または検証します。 ニックネームの文字列が含まれている場合は、引用符で囲みます
スペース

-o出力ファイル
新しい証明書またはバイナリ証明書要求の出力ファイル名を指定します。
スペースが含まれている場合は、出力ファイルの文字列を引用符で囲みます。 これなら
引数は使用されません。出力先のデフォルトは標準出力です。

-P dbプレフィックス
証明書およびキーデータベースファイルで使用されるプレフィックスを指定します。 この議論は
レガシーサーバーをサポートするために提供されます。 ほとんどのアプリケーションはデータベースプレフィックスを使用しません。

-p電話
新しい証明書または証明書に含める連絡先の電話番号を指定します
リクエスト。 スペースが含まれている場合は、この文字列を引用符で囲みます。

-qpqgfileまたはcurve-name
DSAキーペアを生成するときに、指定されたファイルから代替PQG値を読み取ります。 もしも
この引数は使用されません、 certutilを 独自のPQG値を生成します。 PQGファイルが作成されます
別のDSAユーティリティを使用します。

楕円曲線の名前は、SUITE Bの名前の256つです:nistp384、nistp521、nistpXNUMX

NSSがSUITEBの外部のサポートカーブでコンパイルされている場合: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 信頼者
既存の証明書で変更する、またはに適用する信頼属性を指定します
作成時またはデータベースへの追加時の証明書。 利用可能なXNUMXつがあります
順序で表された、各証明書の信頼カテゴリ SSL、 電子メール、 オブジェクト
署名 信頼設定ごとに。 各カテゴリの位置で、なし、いずれか、またはすべてを使用します
属性コード:

· 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 オプションを選択します。
この引数を使用しない場合、デフォルトの有効期間はXNUMXか月です。

-wオフセット-月
現在のシステム時間からのオフセットを月単位で設定します。
証明書の有効期間。 証明書を作成するとき、または証明書をに追加するときに使用します
データベース。 マイナス記号(-)を使用してオフセットを整数で表し、
負のオフセット。 この引数を使用しない場合、有効期間は
現在のシステム時刻。 有効期間の長さは、-v引数で設定されます。

-X
キーと証明書のデータベースを強制的に読み取り/書き込みモードで開きます。 これはで使用されます
  -U & -L コマンドオプション。

-x
  certutilを 作成または追加される証明書の署名を生成するには
別のCAから署名を取得するのではなく、データベース。

-y 指数
の新しいRSA公開鍵の生成に使用する代替指数値を設定します
デフォルト値の65537ではなく、データベース。使用可能な代替値は3です。
と17。

-zノイズファイル
指定されたファイルからシード値を読み取り、新しい秘密鍵と公開鍵を生成します
ペア。 この引数により、ハードウェアで生成されたシード値または
キーボードから手動で値を作成します。 最小ファイルサイズは20バイトです。

-Z ハッシュAlg
-C、-S、または-Rコマンドオプションで使用するハッシュアルゴリズムを指定します。 可能
キーワード:

・MD2

・MD4

・MD5

・SHA1

・SHA224

・SHA256

・SHA384

・SHA512

-0 SSO_パスワード
トークンにサイトセキュリティ担当者のパスワードを設定します。

-1 | --keyUsageキーワード、キーワード
証明書にX.509V3証明書タイプ拡張を設定します。 いくつかあります
利用可能なキーワード:

・ デジタル署名

・否認防止

・keyEncipherment

・dataEncipherment

・keyAgreement

・certSigning

・crlSigning

・ 致命的

-2
に作成または追加されている証明書に基本的な制約拡張を追加します。
データベース。 この拡張機能は、証明書チェーンの検証プロセスをサポートします。
certutilを 証明書制約拡張を選択するように求めるプロンプトが表示されます。

X.509証明書の拡張は、RFC5280で説明されています。

-3
作成中または追加中の証明書に権限キーID拡張機能を追加します。
データベース。 この拡張機能は、からの特定の証明書の識別をサポートします。
XNUMXつのサブジェクト名に関連付けられた複数の証明書の中で、
証明書。 証明書データベースツールにより、権限を選択するように求められます
キーID拡張子。

X.509証明書の拡張は、RFC5280で説明されています。

-4
作成または追加されている証明書にCRL配布ポイント拡張機能を追加します
データベースに。 この拡張機能は、証明書に関連付けられているURLを識別します
証明書失効リスト(CRL)。 certutilを URLの入力を求めます。

X.509証明書の拡張は、RFC5280で説明されています。

-5 | --nsCertTypeキーワード、キーワード
作成中の証明書にX.509V3証明書タイプ拡張を追加するか、
データベースに追加されました。 いくつかの利用可能なキーワードがあります:

・sslClient

・sslServer

・smime

・objectSigning

・sslCA

・smimeCA

・objectSigningCA

・ 致命的

X.509証明書の拡張は、RFC5280で説明されています。

-6 | --extKeyUsageキーワード、キーワード
作成または追加される証明書に拡張キー使用法拡張機能を追加する
データベース。 いくつかのキーワードが利用可能です:

・serverAuth

・clientAuth

・コード署名

・emailProtection

・タイムスタンプ

・ocspResponder

・stepUp

・msTrustListSign

・ 致命的

X.509証明書の拡張は、RFC5280で説明されています。

-7 emailAddrs
メールアドレスのコンマ区切りリストを件名の代替名に追加します
作成または追加されている証明書または証明書要求の拡張
データベース。 サブジェクト代替名の拡張については、のセクション4.2.1.7で説明されています。
RFC3280。

-8つのDNS名
DNS名のコンマ区切りリストをサブジェクト代替名拡張子に追加します
作成中またはデータベースに追加されている証明書または証明書要求。
サブジェクト代替名の拡張は、RFC4.2.1.7のセクション3280で説明されています。

--extAIA
Authority InformationAccess拡張機能を証明書に追加します。 X.509証明書
拡張機能はRFC5280で説明されています。

--extSIA
サブジェクト情報アクセス拡張機能を証明書に追加します。 X.509証明書
拡張機能はRFC5280で説明されています。

--extCP
証明書に証明書ポリシー拡張機能を追加します。 X.509証明書
拡張機能はRFC5280で説明されています。

--extPM
ポリシーマッピング拡張機能を証明書に追加します。 X.509証明書の拡張機能は
RFC5280で説明されています。

--extPC
PolicyConstraints拡張機能を証明書に追加します。 X.509証明書の拡張
RFC5280で説明されています。

--extIA
Inhibit Any PolicyAccess拡張機能を証明書に追加します。 X.509証明書
拡張機能はRFC5280で説明されています。

--extSKID
サブジェクトキーID拡張子を証明書に追加します。 X.509証明書の拡張機能は
RFC5280で説明されています。

--extNC
証明書に名前制約拡張機能を追加します。 X.509証明書の拡張機能は
RFC5280で説明されています。

--extSAN type:name [、type:name] .. ..
XNUMXつまたは複数の名前でサブジェクト代替名拡張機能を作成します。

-タイプ:ディレクトリ、dn、dns、edi、ediparty、email、ip、ipaddr、other、registerid、
rfc822、uri、x400、x400addr

-空のパスワード
-Nを使用して新しい証明書データベースを作成する場合は、空のパスワードを使用してください。

--keyAttrFlags 属性フラグ
PKCS#11の主要な属性。 から選択された主要な属性フラグのコンマ区切りリスト
次の選択肢のリスト:{トークン| セッション} {公開| プライベート} {機密|
鈍感} {変更可能| 変更不可} {抽出可能| 抽出不能}

--keyOpFlagsOn opflags、-keyOpFlagsOff opflags
PKCS#11キー操作フラグ。 次のXNUMXつ以上のコンマ区切りリスト:
{トークン| セッション} {公開| プライベート} {機密| 鈍感} {変更可能|
変更不可} {抽出可能| 抽出不能}

--new-nニックネーム
証明書の名前を変更するときに使用される新しいニックネーム。

--source-dir 証明書ディレクトリ
アップグレードする証明書データベースディレクトリを特定します。

--source-prefix certdir
アップグレードする証明書とキーデータベースのプレフィックスを指定します。

--upgrade-id ユニークID
アップグレードするデータベースの一意のIDを指定します。

--upgrade-token-name 名前
アップグレード中に使用するトークンの名前を設定します。

-@pwfile
アップグレードするデータベースに使用するパスワードファイルの名前を指定します。

USAGE そして


ここにリストされている例のほとんどのコマンドオプションには、より多くの引数があります。 NS
これらの例に含まれている引数は、最も一般的なものであるか、
特定のシナリオ。 使用 -H それぞれの引数の完全なリストを表示するオプション
コマンドオプション。

作成 新作 セキュリティ データベース

証明書の管理に関連する証明書、キー、およびセキュリティモジュールは次の場所に保存されます。
XNUMXつの関連データベース:

・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 コマンドオプションにはXNUMXつの引数が必要です。

· -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オフセット月] [-p電話] [-1] [-2] [-3] [-4] [-5キーワード] [-6キーワード] [-7電子メールアドレス] [-8dns-名前] [ --extAIA] [--extSIA] [--extCP] [--extPM] [--extPC] [--extIA] [--extSKID]

一連の数字と --ext * オプションは、に追加できる証明書拡張を設定します
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 emailAddress] [-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のCA管理者u、u、u
TPS管理者のドメインIDの例u、u、u
Google Internet Authority 、、
認証局-ドメイン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#1RSA暗号化
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
ユーザー

リスト キーズ

キーは、証明書データの暗号化に使用される元の資料です。 のために生成されたキー
証明書は、キーデータベースに個別に保存されます。

データベース内のすべてのキーを一覧表示するには、 -K コマンドオプションと(必須) -d 引数
ディレクトリへのパスを指定します。

$ certutil -K -d sql:$ HOME / nssdb
certutil:スロット「NSSユーザー秘密鍵と証明書サービス」のトークン「NSS証明書DB」を確認しています
<0> rsa 455a6673bde9375c2887ec8bf8016b3f9f35861d ThawteFreemailメンバーのThawteConsulting(Pty)Ltd。ID
<1> rsa40defeeb522ade11090eacebaaf1196a172127dfドメイン管理者証明書の例
< 2> rsa 1d0b06f44f6c03842f7d4f4a1dc78b3bcd1b85a5 John Smith user cert

検索結果に表示されるキーを絞り込むには、次の方法があります。

・特定のキーを返すには、 -n キーの名前を持つ引数。

・複数のセキュリティデバイスがロードされている場合は、 -hトークン名 引数はできます
特定のトークンまたはすべてのトークンを検索します。

・利用可能なキータイプが複数ある場合は、 -kキータイプ 引数は検索できます
RSA、DSA、ECCなどの特定のタイプのキー。

リスト セキュリティ モジュール

証明書の保存に使用できるデバイス(内部データベースと外部データベースの両方)
スマートカードなどのデバイスは、セキュリティモジュールをロードすることで認識および使用されます。 NS -U
コマンドオプションは、secmod.dbデータベースにリストされているすべてのセキュリティモジュールをリストします。 NS
ディレクトリへのパス(-d) 必要とされている。

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

スロット:NSSユーザー秘密鍵および証明書サービス
トークン:NSS証明書DB

スロット:NSS内部暗号化サービス
トークン:NSS Generic Crypto Services

追加 鑑定書 〜へ   データベース

既存の証明書または証明書要求を手動で証明書に追加できます
他の場所で生成された場合でも、データベース。 これは -A コマンドオプション。

certutil -A -n certname -t trustargs -d [sql:] directory [-a] [-i input-file]

例:

$ certutil -A -n "CN = My SSL Certificate" -t "u、u、u" -d sql:/ home / my / sharednssdb -i /home/example-certs/cert.cer

関連するコマンドオプション、 -E、特に電子メール証明書をに追加するために使用されます
証明書データベース。 NS -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's Email Cert" -e -u S、R -d sql:/ home / my / sharednssdb

変更 認証 信頼 設定

信頼設定(証明書に許可されている操作に関連する)
に使用される)は、証明書が作成された後、またはデータベースに追加された後に変更できます。 これは
CA証明書に特に役立ちますが、あらゆるタイプの証明書に対して実行できます。
証明書。

certutil -M-n証明書名-ttrust-args -d [sql:]ディレクトリ

例:

$ certutil -M -n "My CA Certificate" -d sql:/ home / my / sharednssdb -t "CTu、CTu、CTu"

印刷   認証

証明書はで発行できます チェーン すべての認証局自体が
証明書; CAが証明書を発行すると、基本的にその証明書に次のスタンプが押されます。
独自の指紋。 NS -O 最初から証明書のチェーン全体を出力します
CA(ルートCA)から実際の証明書への中間CAを経由します。 たとえば、
チェーン内にXNUMXつのCAがある電子メール証明書:

$ certutil -d sql:/ home / my / sharednssdb -O -n "[メール保護]"
"Builtin Object Token:Thawte Personal Freemail CA" [E =[メール保護]、CN = Thawte Personal Freemail CA、OU =認証サービス部門、O = Thawte Consulting、L =ケープタウン、ST =西ケープ、C = ZA]

「ThawtePersonalFreemail Issuing CA-ThawteConsulting」[CN = Thawte Personal Freemail Issuing CA、O = Thawte Consulting(Pty)Ltd.、C = ZA]

"(null)" [E =[メール保護]、CN = ThawteFreemailメンバー]

リセット中 a Next

証明書を保存するデバイス-外部ハードウェアデバイスと内部の両方
ソフトウェアデータベース-空白にして再利用できます。 この操作はデバイスで実行されます
これは、セキュリティデータベースに直接ではなく、データを格納するため、場所は次のようになります。
トークン名で参照(-h)および任意のディレクトリパス。 ない場合
外部トークンが使用されます。デフォルト値は内部です。

certutil -T -d [sql:] directory -h token-name -0 security-officer-password

多くのネットワークには、セキュリティトークン(セキュリティ
役員)。 この人は、指定されたトークンにアクセスするためのパスワードを提供する必要があります。 例えば:

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

アップグレード or マージ   セキュリティ データベース

多くのネットワークまたはアプリケーションは、古いバージョンのBerkeleyDB証明書を使用している可能性があります
データベース(cert8.db)。 データベースは、データベースの新しいSQLiteバージョンにアップグレードできます
(cert9.db)を使用して -アップグレード-マージ コマンドオプションまたは既存のデータベースをマージできます
新しいcert9.dbデータベースで - -マージ

  -アップグレード-マージ コマンドは、元のデータベースに関する情報を提供してから、を使用する必要があります
標準の引数( -d)新しいデータベースに関する情報を提供します。 NS
コマンドには、ツールがアップグレードおよび書き込みプロセスに使用する情報も必要です。
元のデータベース上。

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 directory --source-prefix dbprefix [-@ password-file]

例:
$ certutil --merge -d sql:/ home / my / sharednssdb --source-dir / opt / my-app / alias / --source-prefix serverapp-
Running: certutilを コマンド から a バッチ File

一連のコマンドは、テキストファイルから順番に実行できます。 -B コマンドオプション。
このための唯一の引数は、入力ファイルを指定します。

$ certutil -B -i / path / to / batch-file

NSS DATABASE TYPES


NSSは当初、セキュリティ情報を格納するためにBerkeleyDBデータベースを使用していました。 最後のバージョン
これらの レガシー データベースは次のとおりです。

・証明書の場合はcert8.db

・キーのkey3.db

・PKCS#11モジュール情報用のsecmod.db

ただし、BerkeleyDBにはパフォーマンスの制限があるため、BerkeleyDBを簡単に使用することはできません。
複数のアプリケーションを同時に。 NSSには、アプリケーションができる柔軟性があります。
共有データベースを維持し、機能しながら、独自の独立したデータベースエンジンを使用する
アクセスの問題について。 それでも、NSSは、真に共有されたものを提供するために、より多くの柔軟性を必要とします
セキュリティデータベース。

2009年、NSSは、SQLiteデータベースではなくSQLiteデータベースである新しいデータベースセットを導入しました。
BerkeleyDB。 これらの新しいデータベースは、より多くのアクセシビリティとパフォーマンスを提供します。

・証明書の場合はcert9.db

・キーのkey4.db

・新しいサブディレクトリに含まれるすべてのPKCS#11モジュールのリストであるpkcs11.txt
セキュリティデータベースディレクトリ内

SQLiteデータベースは共有されるように設計されているため、これらは shared データベース
タイプ。 共有データベースタイプが推奨されます。 レガシーフォーマットは後方に含まれています
互換性。

デフォルトでは、ツール(certutilを, pk12util, modutil)与えられたセキュリティを仮定します
データベースは、より一般的なレガシータイプに従います。 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プロジェクトを参照してください。
wiki:

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

onworks.netサービスを使用してオンラインでcertutilを使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad