DXcertgen ツール -- 証明書の生成と動作

CA Directory には、証明書を生成し動作するための DXcertgen ツールが含まれます。このトピックでは、以下のコマンドについて説明します。
cad141jp
CA Directory には、証明書を生成し動作するための DXcertgen ツールが含まれます。このトピックでは、以下のコマンドについて説明します。
2
dxcertgen certs コマンド -- DSA とユーザの証明書の作成
dxcertgen certs
コマンドは DSA とユーザ証明書を作成し、ルート証明書を使用して、これらの証明書に署名します。
DXcertgen がキーストアを使用できる場合は、そこにルート証明書と秘密鍵を格納します。キーストアを使用できない場合は、ファイルにルート証明書(しかし秘密鍵ではない)を格納します。
DXcertgen がルート証明書の保持にキーストアを使用する場合は、DSA およびユーザ証明書を作成する際に、再度そのルート証明書を使用します。
DXcertgen がキーストアを使用しない場合は、DSA またはユーザ証明書を作成するごとにルート証明書を作成します。DXcertgen は、以前に作成したすべての証明書を無効にします。また、作成したばかりのルート証明書の秘密鍵を削除します。この予防措置は、その秘密鍵からそれ以上証明書が作成されないことを確実にし、暗号化の完全性を維持するために行われます。
注:
JAVA_HOME/bin/keytool にキーストア ソフトウェアが見つかる場合(および、その場合にのみ)、DXcertgen はキーストアを使用します。
DXcertgen は、すでに存在する DSA のための DSA 証明書のみを作成できます。 
このコマンドは、常に DXHOME/ssld/personalitiesに DSA 証明書を格納します。このコマンドは、-c オプション、または -p オプションで指定されたパスで指定されるキーストアにユーザ証明書を格納します。
このコマンドの構文は、以下のようになります。
dxcertgen [-a rootalias] [-c cert-ks-path -C cert-ks-password ] [-d days] [-D dsaname] [-i issuer] [-k keylength] [-p cert-file-path] [-P rootcert-pk-ks-password][-s rootcert-ks-path [-S rootcert-ks-password]] [-u users] [-Z algorithm] [-g certname] certs
  • -a 
    rootalias
    キーストアでルート キーを指定します。ルート証明書キーストアを使用する場合にのみ、このオプションを使用します。
    デフォルト:
    dxcertgen
  • -c 
    cert-ks-path 
    -C 
    cert-ks-password
    • cert-ks-path
      -u オプションによって与えられた、作成されたユーザ証明書を格納するために使用するキーストアへのパスを指定します。
      デフォルト:
      DXHOME/config/ssld/javakeystores
    • cert-ks-password
      ユーザ証明書キーストアにアクセスするために既存のパスワードを指定します。キーストアを作成したときに、このパスワードを設定している必要があります。
  • -d 
    days
    証明書の有効期間を日数で指定します。
    デフォルト:
    365
  • -D 
    dsaname
    新規証明書が作成される DSA を指定します。ユーザがこのオプションを使用しない場合、DXcertgen はすべての DSA のための証明書を作成します。
    ルート証明書キーストアを使用する場合にのみ、これを使用します。
  • -i 
    issuer
    ルート証明書を作成している場合は、使用する名前を指定します。DXcertgen は、ここで与えられた名前を持ったルート証明書を生成します。通常、発行者はユーザの会社名になります。
    デフォルト:
    "CN=DXCertGenCA,O=DXCertGenPKI,C=AU"
  • -k 
    keylength
    新しい証明書のキーの長さを定義します。DXcertgen は、以下のキー長の証明書を生成できます。
    • 1024
    • 2048 (デフォルト)
    • 3072
    • 4096
  • -p 
    cert-file-path
    作成されたユーザ証明書を格納するために使用するファイルへのパスを指定します。
    デフォルト:
    DXHOME/config/ssld/personalities
  • -P 
    rootcert-pk-ks-password
    ルート証明書キーストア内の秘密鍵を保護するためにパスワードを指定します。ここでこのパスワードを設定します。
  • -s 
    rootcert-ks-path 
    [-S 
    rootcert-ks-password
    ]
    • rootcert-ks-path
      ルート証明書キーストアへのパスを指定します。
      デフォルト:
      DXHOME/config/ssld/javakeystores
    • rootcert-ks-password
      ルート証明書キーストアにアクセスするために既存のパスワードを指定します。キーストアを作成したときに、このパスワードを設定している必要があります。
      デフォルト:
      changeit
  • -u 
    users
    証明書を作成するユーザのリストが含まれる LDIF ファイルを指定します。
  • -Z 
    algorithm
    証明書を生成するときに使用する署名アルゴリズムを指定します。
    • SHA1
      (デフォルト) SHA-1 アルゴリズムを使用して、証明書を署名します。
    • SHA224
    • SHA256
    • SHA384
    • SHA512
  • -g certname
    ここで、certname は、set ssl コマンドの cert-file オプションを使用して、DSA 間で共有できるパーソナリティ証明書の名前です。詳細については、「DSA 間での証明書の共有」を参照してください。
DSA 証明書の作成例
以下のコマンドは、現在設定されている全 DSA のための証明書を作成します。
dxcertgen certs
DXcertgen はDSA 用の証明書および 関連づけられた秘密鍵ファイルをディレクトリ DXHOME/ssld/personalities に書き込みます。
DSA 証明書および秘密鍵はそれぞれ、DSA 名に基づいた名前を持つファイルで以下のように作成されます。
dsa_name_in_lowercase.pem
ファイルはパスワード保護されていないか、またはいかなる形でも暗号化されていません。できるだけ早急に安全にする必要があります。
CA Directory ユーザのための証明書の生成例
以下のコマンドはユーザ証明書を作成し、ファイル システムに証明書と秘密鍵を書き込みます。
dxcertgen -u $USERS_PATH/users.ldif -p $TEMP_PATH/users certs
書かれる秘密鍵はパスワード保護されていないか、またはいかなる形でも暗号化されていません。できるだけ早急に安全にする必要があります。
ユーザ証明書は DSA 証明書と同じ秘密鍵から生成されます。
一般的な DSA パーソナリティ証明書の生成例
次のコマンドは、以下の一般的な証明書を生成します。 
dxcertgen -g generic.pem certs
一般的な証明書:
  • $DXHOME/config/ssld/personalities/generic.pem
  • $DXHOME/config/ssld/trusted.pem によって署名されたもの
dxcertgen certreq コマンド -- 証明書署名リクエスト(CSR)の生成
別の認証局(CA)からの証明書を使用する場合は、DXcertgen を使用して証明書署名リクエスト(CSR)を作成して認証局に送信できます。
このコマンドは CSR と秘密鍵を作成します。CA へ秘密鍵を送信しません。
リクエストが成功すれば、CA は CA の秘密鍵でデジタル署名を付けられた証明書を送ります。(その後、コマンド
dxcertgen certmerge
を使用してこの証明書を使用できます。)
コマンド
dxcertgen certreq
は DXHOME/config/ssld/dsaname.csr に CSR を格納し、DXHOME/config/ssld/dsaname.key に秘密鍵を格納します。
このコマンドの構文は、以下のようになります。
dxcertgen [-D dsaname] [-Z] certreq
  • -D 
    dsaname
    CSR が作成される DSA を指定します。このオプションを使用しない場合は、DXcertgen はすべての DSA のためのリクエストを作成します。
  • -Z 
    algorithm
    証明書署名リクエストを生成するときに使用する署名アルゴリズムを指定します。
    • SHA1
      (デフォルト) SHA-1 アルゴリズムを使用して、秘密鍵を作成します。
    • SHA224
    • SHA256
    • SHA384
    • SHA512
CSR の障害については、「トラブルシューティング」の章 を参照してください。
dxcertgen certmerge コマンド -- 証明書を作成するために CSR レスポンスを使用します
CSR に応じて CA から DSA 証明書を受信したとき、DSA が必要とする DSA 証明書および秘密鍵の組み合わせを作成するためにこのコマンドを使用します。
コマンド
dxcertgen certmerge
は以下のアクションを実行します。
  1. コマンドは、受信した証明書を確認します。
  2. コマンドは、受信した証明書が、ユーザが dxcertgen certreq コマンドを使用して送信した CSR に対するレスポンスであることを確認します。
  3. コマンドは、返された証明書と元の秘密鍵をマージします。また、コマンドは、DSA 証明書と関連する秘密鍵を
    DXHOME/config/ssld/personalities/dsaname
    .pem ファイルに格納します。
このコマンドの構文は、以下のようになります。
dxcertgen -D dsaname -n cert-file certmerge
  • -D 
    dsaname
    新しいマージされた証明書が作成される DSA を指定します。
  • -n 
    cert-file
    CSR に応じて外部 CA から返された証明書ファイルを指定します。
dxcertgen importca コマンド -- 証明書のインポート
別の 認証局 (CA)によって作成されたルート証明書がある場合は、その証明書をファイル trusted.pem へインポートし、DXserver がその証明書を信頼するようにします。
dxcertgen importca
コマンドを使用して、証明書をインポートできます。
DXcertgen は以下の形式から証明書をインポートできます。
  • PEM (base -64 エンコード)
  • DER/CER ASN.1 (base-64 エンコードまたはバイナリ)
  • PKCS#12
このコマンドの構文は、以下のようになります。
dxcertgen -n cert-file importca
  • -n 
    cert-file
    信頼された証明書のリストに追加する証明書ファイルを指定します。
dxcertgen listca コマンド -- ルート証明書のリスト表示
dxcertgen listca
コマンドは、
trusted.pem
に格納された証明書のリストを表示します。
各証明書に一意の番号が付けられます。
このコマンドの構文は、以下のようになります。
dxcertgen listca
dxcertgen removeca コマンド -- ルート証明書の削除
このコマンドは、提供された証明書番号に一致する証明書を削除し、trusted.pem.bak へ既存の trusted.pem ファイルをバックアップします。
注:
trusted.pem 内の証明書を追加および削除すると、証明書番号が変わります。証明書を削除する際は、必ず前もって 'listca' を実行します。
このコマンドの構文は、以下のようになります。
dxcertgen -r certnumber removeca
  • -r 
    certnumber
    削除する証明書に対応する数を指定します。
dxcertgen report コマンド -- 証明書のレポート
DXcertgen ツールを使用して証明書のレポートを生成できます。
このレポートはルート証明書、DSA パーソナリティ証明書およびユーザ証明書を含めて、証明書をすべて要約します。
各サマリは以下の情報をリスト表示します。
  • 証明書の件名
  • 証明書を発行した認証局
  • 有効期間
  • 証明書が妥当かどうか
このコマンドの構文は、以下のようになります。
dxcertgen report
dxcertgen masterkey コマンド - 属性の暗号化用のマスタキーを生成します。
dxcertgen マスタ キー コマンドによって、DSA 内の属性を暗号化するために使用される P12 ファイルおよび dxENC.config ファイルが生成されます。
  • P12 ファイル
    : このファイルには、DSA 内の属性を暗号化するために必要なマスタ キーが含まれています。このファイルは p12 形式で次の場所に格納されます:
    DXHOME/config/ssld。
    このファイルは管理特権ユーザおよび DSA サービス アカウントへのアクセスを制限します。
  • dxENC.config ファイル
    : このファイルには、P12 ファイルおよびP12 ファイルを開くためのパスフレーズの場所が含まれます。
コマンドの形式は以下のとおりです。
dxcertgen [-l location] [-m filename] masterkey
  • -l
    (オプション)マスタキーの場所を指定します。(デフォルトの場所: DXHome/Config/SSLD)
  • -m
    (オプション)マスタキーのファイル名を指定します