Solaris のシステム管理 (IP サービス)

Procedureハードウェア上で公開鍵証明書を生成、格納する方法

ハードウェア上で公開鍵証明書を生成および格納することは、システム上で公開鍵証明書を生成および格納することと似ています。ハードウェア上では、ikecert certlocal および ikecert certdb コマンドがハードウェアを識別しなければなりません。トークン ID に -T オプションを指定すると、コマンドがハードウェアを識別するようになります。

始める前に
  1. システムコンソール上で、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。


    注 –

    リモートログインすると、セキュリティー上重要なトラフィックが盗聴される恐れがあります。何らかの方法でリモートログインを保護していても、システムのセキュリティーがリモートログインセッションレベルに低下します。セキュリティー保護されたリモートログインには、ssh コマンドを使用してください。


  2. 自己署名付き証明書または証明書要求を作成して、トークン ID を指定します。

    次のオプションのいずれかを選択します。


    注 –

    Sun Crypto Accelerator 4000 ボードは、RSA で最大 2048 ビットのキーをサポートします。DSA の場合は最大 1024 ビットになります。


    • 自己署名付き証明書の場合、次の構文を使用する


      # ikecert certlocal -ks -m 1024 -t rsa-md5 \
      > -D "C=US, O=PartyCompany, OU=US-Partym, CN=Partym" \
      > -a -T dca0-accel-stor IP=192.168.116.16
      Creating hardware private keys.
      Enter PIN for PKCS#11 token: Type user:password
      

      -T オプションの引数は、Sun Crypto Accelerator 4000 ボードのトークン ID

    • 証明書要求の場合、次の構文を使用します。


      # ikecert certlocal -kc -m 1024 -t rsa-md5 \
      > -D "C=US, O=PartyCompany, OU=US-Partym, CN=Partym" \
      > -a -T dca0-accel-stor IP=192.168.116.16
      Creating hardware private keys.
      Enter PIN for PKCS#11 token: Type user:password
      

    ikecert コマンドの引数の詳細については、ikecert(1M) のマニュアルページを参照してください。

  3. PIN のプロンプトに、Sun Crypto Accelerator 4000 ユーザー、コロン、ユーザーのパスワードを入力します。

    Sun Crypto Accelerator 4000 ボードのユーザー ikemgr のパスワードが rgm4tigt の場合、次のように入力します。


    Enter PIN for PKCS#11 token: ikemgr:rgm4tigt
    

    注 –

    PIN の応答は、ディスク上に「クリアテキストとして」格納されます。


    パスワードの入力後、証明書が印刷されます。


    Enter PIN for PKCS#11 token: ikemgr:rgm4tigt
    -----BEGIN X509 CERTIFICATE-----
    MIIBuDCCASECAQAwSTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDFBhcnR5Q29tcGFu
    …
    oKUDBbZ9O/pLWYGr
    -----END X509 CERTIFICATE-----
  4. 通信先に証明書を送信します。

    次のオプションのいずれかを選択します。

    • リモートシステムに自己署名付き証明書を送信します。

      証明書は、電子メールに貼り付けることもできます。

    • PKI を処理する機関に証明書要求を送信します。

      証明書要求は、PKI 機関の指示に従って送信します。詳細については、「CA からの署名付き証明書により IKE を設定する方法」手順 3 を参照してください。

  5. システム上で、/etc/inet/ike/config ファイルを編集して、証明書が認識されるようにします。

    次のオプションのどちらか 1 つを選択します。

    • 自己署名付き証明書

      リモートシステムの管理者がパラメータ cert_trustremote_id、および remote_addr 用に提供する値を使用します。たとえば、enigma システムの ike/config ファイルは次のようになります。


      # Explicitly trust the following self-signed certs
      # Use the Subject Alternate Name to identify the cert
      
      cert_trust "192.168.116.16"  Local system's certificate Subject Alt Name
      cert_trust "192.168.13.213"  Remote system's certificate Subject Alt name
      
      
      # Solaris 10 1/06 release: default path does not have to be typed in
      #pkcs11_path "/usr/lib/libpkcs11.so" Hardware connection
      
      # Solaris 10 release: use this path
      #pkcs11_path "/opt/SUNWconn/cryptov2/lib/libvpkcs11.so"
      …
      {
       label "JA-enigmax to US-partym"
       local_id_type dn
       local_id "C=JA, O=EnigmaCo, OU=JA-Enigmax, CN=Enigmax"
       remote_id "C=US, O=PartyCompany, OU=US-Partym, CN=Partym"
      
       local_addr  192.168.116.16
       remote_addr 192.168.13.213
      
       p1_xform
        {auth_method rsa_sig oakley_group 2 auth_alg sha1 encr_alg aes}
      }
    • 証明書要求

      PKI 機関が cert_root キーワードの値として提供する名前を入力します。たとえば、enigma システムの ike/config ファイルは次のようになります。


      # Trusted root cert
      # This certificate is from Example PKI
      # This is the X.509 distinguished name for the CA that it issues.
      
      cert_root "C=US, O=ExamplePKI\, Inc., OU=PKI-Example, CN=Example PKI"
      
      # Solaris 10 1/06 release: default path does not have to be typed in
      #pkcs11_path "/usr/lib/libpkcs11.so" Hardware connection
      
      # Solaris 10 release: use this path
      #pkcs11_path "/opt/SUNWconn/cryptov2/lib/libvpkcs11.so"
      …
      {
       label "JA-enigmax to US-partym - Example PKI"
       local_id_type dn
       local_id "C=JA, O=EnigmaCo, OU=JA-Enigmax, CN=Enigmax"
       remote_id  "C=US, O=PartyCompany, OU=US-Partym, CN=Partym"
      
       local_addr  192.168.116.16
       remote_addr 192.168.13.213
      
       p1_xform
        {auth_method rsa_sig oakley_group 2 auth_alg sha1 encr_alg aes}
      }
  6. 通信先から受け取った証明書をハードウェアに格納します。

    手順 3 で応答したように、PIN 要求に応答します。


    注 –

    公開鍵証明書は、公開鍵を生成したハードウェアに追加する必要があります


    • 自己署名付き証明書

      リモートシステムの自己署名付き証明書を追加します。この例では、証明書は DCA.ACCEL.STOR.CERT ファイルに格納されています。


      # ikecert certdb -a -T dca0-accel-stor < DCA.ACCEL.STOR.CERT
      Enter PIN for PKCS#11 token: Type user:password
      

      自己署名付き証明書が rsa_encryptauth_method パラメータの値として使用していた場合、ピアの証明書をハードウェア格納場所に追加します。

    • PKI 機関からの証明書

      機関が証明書要求から生成した証明書を追加して、認証局 (CA) を追加します。


      # ikecert certdb -a -T dca0-accel-stor < DCA.ACCEL.STOR.CERT
      Enter PIN for PKCS#11 token: Type user:password
      

      # ikecert certdb -a -T dca0-accel-stor < DCA.ACCEL.STOR.CA.CERT
      Enter PIN for PKCS#11 token: Type user:password
      

      PKI 機関からの証明書失効リスト (CRL) を追加する方法については、「証明書失効リストを処理する方法」を参照してください。