ここでは、certutil と pk12util を使用して鍵や証明書を作成および管理する一般的な手順について説明します。certutil と pk12util の詳細については、「NSS (Network Security Services) ツールの使用」と NSS セキュリティーツールの Web サイト (http://www.mozilla.org/projects/security/pki/nss/tools) を参照してください。
Java ランタイムの JAVA_HOME/jre/lib/security ディレクトリにある java.security プロパティーファイルで PKCS#11 プロバイダを設定することで、J2SE keytool ユーティリティーを使用して鍵や証明書を管理することもできます。keytool の使用方法については、『Java PKCS#11 Reference Guide』 (http://java.sun.com/j2se/1.5.0/docs/guide/security/p11guide.html) を参照してください。
ここで説明する内容は次のとおりです。
設定済み PKCS#11 トークンの鍵や証明書を表示するには、次のコマンドを実行します。
certutil -L -d AS_NSS_DB [-h tokenname]
たとえば、デフォルトの NSS ソフトトークンの内容を表示するには、次のように入力します。
certutil -L -d AS_NSS_DB
標準出力表示は次のようになります。
verisignc1g1 T,c,c verisignc1g2 T,c,c verisignc1g3 T,c,c verisignc2g3 T,c,c verisignsecureserver T,c,c verisignc2g1 T,c,c verisignc2g2 T,c,c verisignc3g1 T,c,c verisignc3g2 T,c,c verisignc3g3 T,c,c s1as u,u,u |
出力には、左側の列にトークンの名前、右側の列に 3 つの信頼属性が表示されます。Enterprise Server 証明書の場合、通常は T,c,c です。信頼のレベルが 1 つしかない J2SE java.security.KeyStore API とは異なり、NSS テクノロジには信頼のレベルが複数あります。Enterprise Server では、基本的に 1 番目の信頼属性に着目します。この信頼属性は、このトークンが SSL を使用する方法を示します。この属性の意味は次のとおりです。
T は、認証局 (CA) がクライアント証明書の発行について信頼されていることを示します。 |
u は、認証または署名に証明書 (および鍵) を使用できることを示します。 |
u,u,u という属性の組み合わせは、非公開鍵がデータベースに存在することを表します。 |
ハードウェアトークン mytoken の内容を表示するには、次のコマンドを実行します。
certutil -L -d AS_NSS_DB -h mytoken
ハードウェアトークンのパスワードが求められます。標準出力表示は次のようになります。
Enter Password or Pin for "mytoken": mytoken:Server-Cert 	u,u,u |
自己署名付き証明書の作成や、証明書のインポート/エクスポートには、certutil を使用します。非公開鍵をインポートまたはエクスポートするには、pk12util ユーティリティーを使用します。詳細は、「NSS (Network Security Services) ツールの使用」を参照してください。
Enterprise Server では、certutil や modutil などの NSS ツールを使用して NSS パスワードを直接変更しないでください。そのようにすると、Enterprise Server のセキュリティーデータが破損する可能性があります。