2
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

certutilでNSS DBを操作する方法

はじめに

certutilとは、nss-toolsパッケージに含まれ、証明書と鍵データベースを管理できるものです。
mozillaが提供しているNSSセキュリティツールのひとつです。

certutilを使って信頼性フラグを立てた自己署名証明書を作る必要があったのでその手順を投稿します。

実行環境

  • OS:CentOS 6.5
  • nss-tools:3.16.1

手順

DBの作成

まず、NSSの証明書DBと鍵DBが必要です。
httpdのmod_nssをインストールしている場合には、インストール時に自動で作られると思います。

DBがない場合にはcertutilの-Nオプションで作成できます。
作成するディレクトリを指定する場合には-dオプションで作成先を指定します。
 $ certutil -N -d <DBを作成するディレクトリ>
DBアクセス時のパスワード不要な時はenterキー連打で大丈夫です。

指定したディレクトリに次の3つのファイルができます。

  • cert8.db
  • key3.db
  • secmod.db

自己署名証明書の作成

certutilの-Sオプションで作成します。

  • -n:ニックネームを指定
  • -s:証明書の所有者を特定する情報を指定
  • -v:証明書の有効期間を月単位で指定
  • -x:自己署名であることを指定
  • -t:証明書の信頼性を指定
  • -d:作成先

例えば、以下のように入力します。
$ certutil -S -n SelfSignedCertificate -s "C=XX" -v 12 -x -t "Pu,Pu,Pu" -d <DBを作成したディレクトリ>

 "Continue typing until the progress meter is full:"
 という文字列が表示されたらキーボードでランダムに文字入力をする。
 (鍵を生成するためのランダムな文字列)

 enterキー押下で下記の文字が表示されたら作成完了
 "Generating key. This may take a few cemoments..."

作成した証明書の確認

certutilの-Lオプションで確認できます。
$ certutil -L -d <DBを作成したディレクトリ>

証明書の削除

certutilの-Dオプションで削除できます。
$ certutil -D -n <ニックネーム> -d <DBを作成したディレクトリ>

参考

下記のサイトが参考になりました。
http://www.nina.jp/server/redhat/certutil/certutil.html

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
2
Help us understand the problem. What are the problem?