この章では、証明書の管理、および自己署名証明書または認証局からの証明書をインストールする方法について説明します。
この章の内容は、次のとおりです。
Sun Java System Portal Server Secure Remote Access ソフトウェアは、証明書ベースのリモートユーザー認証を提供します。SRA では、通信の安全を確保するために SSL (Secure Sockets Layer) を使用します。SSL プロトコルを使用することで、2 つのマシン間の通信がセキュリティー保護されます。
SSL 証明書は、公開鍵と秘密鍵のペアを使用した暗号化と複合化の機能を提供します。
証明書には、次の 2 種類があります。
自己署名証明書 (ルート CA 証明書とも呼ばれる)
認証局 (CA) が発行する証明書
ゲートウェイのインストール時に、デフォルトでは自己署名証明書が生成およびインストールされます。
証明書は、インストール後にいつでも生成、取得、または交換することができます。
SRA は PDC (Personal Digital Certificates) によるクライアント認証をサポートします。PDC は SSL クライアント認証を通じてユーザーを認証するメカニズムです。SSL クライアント認証を使用して、SSL ハンドシェークがゲートウェイで終了します。ゲートウェイはユーザーの PDC を抽出し、認証されたサーバーにこれを渡します。このサーバーは、この PDC を使用してユーザーを認証します。認証連鎖における PDC の設定については、「認証連鎖の使用」を参照してください。
SRA には、SSL 証明書を管理するための certadmin というツールが用意されています。「certadmin スクリプト」を参照してください。
「証明書」ポップアップウィンドウは、SSL アプリケーションに共通のものです。警告を受け入れて処理を進めるように、ユーザーに通知してください。
証明書関連のファイルは /etc/opt/SUNWportal/cert/gateway-profile-name 内にあります。このディレクトリには、デフォルトで 5 つのファイルが格納されています。
「証明書ファイル」は、これらのファイルの説明を示しています。
表 10–1 証明書ファイル
ファイル名 |
タイプ |
説明 |
---|---|---|
cert8.db、key3.db、secmod.db |
バイナリ |
証明書、キー、および暗号化モジュールのデータが含まれます。 certadmin スクリプトを使用して操作できます。 必要に応じて、Portal Server ホストとゲートウェイコンポーネントまたはゲートウェイの間でこれらのファイルを共有できます。 |
.jsspass |
非表示テキストファイル |
SRA 鍵データベースの暗号化されたパスワードを格納します。 |
.nickname |
非表示テキストファイル |
ゲートウェイが使用する必要のあるトークン名と証明書名を token-name:certificate-name の形式で格納します。 デフォルトのトークン (デフォルトの内部ソフトウェア暗号化モジュールのトークン) を使用している場合は、トークン名は省略されます。ほとんどの場合、.nickname ファイルには証明書名だけが格納されます。 管理者はこのファイルの証明書名を変更できます。ゲートウェイでは、指定した証明書が使用されます。 |
証明書の信頼属性が示す情報は、次のとおりです。
証明書が認証された CA から発行されているかどうか (クライアント証明書またはサーバー証明書の場合)。
証明書をサーバーまたはクライアント証明書の発行者として信頼できるかどうか (ルート証明書の場合)。
各証明書には 3 つの利用可能な信頼カテゴリがあり、SSL、電子メール、オブジェクト署名の順に表されています。ゲートウェイコンポーネントの場合、最初のカテゴリだけが使用されます。各カテゴリの位置に、信頼属性コードが設定されます (カテゴリにコードが設定されない場合もある)。
カテゴリの属性コードはコンマ (,) で区切られ、属性のセット全体は引用符 (") で囲まれます。たとえば、ゲートウェイのインストール時に生成、インストールされた自己署名証明書には、"u,u,u" が設定されます。これは、証明書がルート CA 証明書ではなくサーバー証明書 (ユーザー証明書) であることを示します。
「証明書の信頼属性」は、属性値のリストとそれぞれの意味を示しています。
表 10–2 証明書の信頼属性
属性 |
説明 |
---|---|
p |
有効なピア |
P |
認証されたピア (p のサブセット) |
c |
有効な CA |
T |
クライアント証明書の発行が認証された CA (c のサブセット) |
C |
サーバー証明書の発行が認証された CA (c のサブセット) (SSL のみ) |
u |
認証または署名に証明書を使用できます。 |
w |
警告を送信 (ほかの属性とともに使用され、そのコンテキストでの証明書の使用について警告を追加する) |
公開されている既知の CA のほとんどは、すでに認証データベースに含まれています。公開 CA の信頼属性の変更については、「証明書の信頼属性の変更」を参照してください。
「CA の信頼属性」は、代表的な認証局とその信頼属性を示しています。
表 10–3 公開されている認証局
認証局名 |
信頼属性 |
Verisign/RSA Secure Server CA |
CPp,CPp,CPp |
VeriSign Class 4 Primary CA |
CPp,CPp,CPp |
GTE CyberTrust Root CA |
CPp,CPp,CPp |
GTE CyberTrust Global Root |
CPp,CPp,CPp |
GTE CyberTrust Root 5 |
CPp,CPp,CPp |
GTE CyberTrust Japan Root CA |
CPp,CPp,CPp |
GTE CyberTrust Japan Secure Server CA |
CPp,CPp,CPp |
Thawte Personal Basic CA |
CPp,CPp,CPp |
Thawte Personal Premium CA |
CPp,CPp,CPp |
Thawte Personal Freemail CA |
CPp,CPp,CPp |
Thawte Server CA |
CPp,CPp,CPp |
Thawte Premium Server CA |
CPp,CPp,CPp |
American Express CA |
CPp,CPp,CPp |
American Express Global CA |
CPp,CPp,CPp |
Equifax Premium CA |
CPp,CPp,CPp |
Equifax Secure CA |
CPp,CPp,CPp |
BelSign Object Publishing CA |
CPp,CPp,CPp |
BelSign Secure Server CA |
CPp,CPp,CPp |
TC TrustCenter, Germany, Class 0 CA |
CPp,CPp,CPp |
TC TrustCenter, Germany, Class 1 CA |
CPp,CPp,CPp |
TC TrustCenter, Germany, Class 2 CA |
CPp,CPp,CPp |
TC TrustCenter, Germany, Class 3 CA |
CPp,CPp,CPp |
TC TrustCenter, Germany, Class 4 CA |
CPp,CPp,CPp |
ABAecom (sub., Am. Bankers Assn.) Root CA |
CPp,CPp,CPp |
Digital Signature Trust Co. Global CA 1 |
CPp,CPp,CPp |
Digital Signature Trust Co. Global CA 3 |
CPp,CPp,CPp |
Digital Signature Trust Co. Global CA 2 |
CPp,CPp,CPp |
Digital Signature Trust Co. Global CA 4 |
CPp,CPp,CPp |
Deutsche Telekom AG Root CA |
CPp,CPp,CPp |
Verisign Class 1 Public Primary Certification Authority |
CPp,CPp,CPp |
Verisign Class 2 Public Primary Certification Authority |
CPp,CPp,CPp |
Verisign Class 3 Public Primary Certification Authority |
CPp,CPp,CPp |
Verisign Class 1 Public Primary Certification Authority - G2 |
CPp,CPp,CPp |
Verisign Class 2 Public Primary Certification Authority - G2 |
CPp,CPp,CPp |
Verisign Class 3 Public Primary Certification Authority - G2 |
CPp,CPp,CPp |
Verisign Class 4 Public Primary Certification Authority - G2 |
CPp,CPp,CPp |
GlobalSign Root CA |
CPp,CPp,CPp |
GlobalSign Partners CA |
CPp,CPp,CPp |
GlobalSign Primary Class 1 CA |
CPp,CPp,CPp |
GlobalSign Primary Class 2 CA |
CPp,CPp,CPp |
GlobalSign Primary Class 3 CA |
CPp,CPp,CPp |
ValiCert Class 1 VA |
CPp,CPp,CPp |
ValiCert Class 2 VA |
CPp,CPp,CPp |
ValiCert Class 3 VA |
CPp,CPp,CPp |
Thawte Universal CA Root |
CPp,CPp,CPp |
Verisign Class 1 Public Primary Certification Authority - G3 |
CPp,CPp,CPp |
Verisign Class 2 Public Primary Certification Authority - G3 |
CPp,CPp,CPp |
Verisign Class 3 Public Primary Certification Authority - G3 |
CPp,CPp,CPp |
Verisign Class 4 Public Primary Certification Authority - G3 |
CPp,CPp,CPp |
Entrust.net Secure Server CA |
CPp,CPp,CPp |
Entrust.net Secure Personal CA |
CPp,CPp,CPp |
Entrust.net Premium 2048 Secure Server CA |
CPp,CPp,CPp |
ValiCert OCSP Responder |
CPp,CPp,CPp |
Baltimore CyberTrust Code Signing Root |
CPp,CPp,CPp |
Baltimore CyberTrust Root |
CPp,CPp,CPp |
Baltimore CyberTrust Mobile Commerce Root |
CPp,CPp,CPp |
Equifax Secure Global eBusiness CA |
CPp,CPp,CPp |
Equifax Secure eBusiness CA 1 |
CPp,CPp,CPp |
Equifax Secure eBusiness CA 2 |
CPp,CPp,CPp |
Visa International Global Root 1 |
CPp,CPp,CPp |
Visa International Global Root 2 |
CPp,CPp,CPp |
Visa International Global Root 3 |
CPp,CPp,CPp |
Visa International Global Root 4 |
CPp,CPp,CPp |
Visa International Global Root 5 |
CPp,CPp,CPp |
beTRUSTed Root CA |
CPp,CPp,CPp |
Xcert Root CA |
CPp,CPp,CPp |
Xcert Root CA 1024 |
CPp,CPp,CPp |
Xcert Root CA v1 |
CPp,CPp,CPp |
Xcert Root CA v1 1024 |
CPp,CPp,CPp |
Xcert EZ |
CPp,CPp,CPp |
CertEngine CA |
CPp,CPp,CPp |
BankEngine CA |
CPp,CPp,CPp |
FortEngine CA |
CPp,CPp,CPp |
MailEngine CA |
CPp,CPp,CPp |
TraderEngine CA |
CPp,CPp,CPp |
USPS Root |
CPp,CPp,CPp |
USPS Production 1 |
CPp,CPp,CPp |
AddTrust Non-Validated Services Root |
CPp,CPp,CPp |
AddTrust External Root |
CPp,CPp,CPp |
AddTrust Public Services Root |
CPp,CPp,CPp |
AddTrust Qualified Certificates Root |
CPp,CPp,CPp |
Verisign Class 1 Public Primary OCSP Responder |
CPp,CPp,CPp |
Verisign Class 2 Public Primary OCSP Responder |
CPp,CPp,CPp |
Verisign Class 3 Public Primary OCSP Responder |
CPp,CPp,CPp |
Verisign Secure Server OCSP Responder |
CPp,CPp,CPp |
Verisign Time Stamping Authority CA |
CPp,CPp,CPp |
Thawte Time Stamping CA |
CPp,CPp,CPp |
E-Certify CA |
CPp,CPp,CPp |
E-Certify RA |
CPp,CPp,CPp |
Entrust.net Global Secure Server CA |
CPp,CPp,CPp |
Entrust.net Global Secure Personal CA |
CPp,CPp,CPp |
certadmin スクリプトを使用して、次のような証明書管理タスクを実行できます。
各サーバーとゲートウェイの間で SSL 通信を行うには、証明書を生成する必要があります。
証明書を生成するゲートウェイマシンで、root として certadmin スクリプトを実行します。
portal-server-install-root/SUNWportal/bin/certadmin -n gateway-profile-name |
証明書管理メニューが表示されます。
1) 自己署名証明書の生成 2) 証明書署名要求 (CSR) の生成 3) ルート CA 証明書の追加 4) 証明書認証局 (CA) から証明書をインストール 5) 証明書の削除 6) 証明書の信頼属性の変更 (PDC 向けなど) 7) ルート CA 証明書のリスト 8) すべての証明書のリスト 9) 証明書の内容の出力 10) 終了 選択: [10] 1 |
証明書管理メニューのオプション 1 を選択します。
既存のデータベースファイルを維持するかどうかを確認するメッセージが表示されます。
組織に固有の情報、トークン名、証明書名を入力します。
ワイルドカード証明の場合は、ホストの完全修飾 DNS 名にアスタリスク (*) を含めます。たとえば、完全修飾ホスト名が abc.sesta.com の場合、*.sesta.com のように指定します。生成される証明書は、sesta.com ドメインのすべてのホストで有効になります。
このホストの完全修飾 DNS 名を指定してください [host_name.domain_name] 組織 (企業など) の名前を指定してください [] 組織単位 (部門など) の名前を指定してください [] 所在地の都市名を指定してください [] 所在地の都道府県を指定してください [] 2 桁の国コードを指定してください [] トークン名は、デフォルトの内部 (ソフトウェア) 暗号化モジュールを 使用する場合 (暗号化カードを使用する場合など) にだけ必要です。 トークン名は、modutil -dbdir /etc/opt/SUNWportal/cert/gateway-profile-name -list を実行してリスト表示できます。 必要がない場合は、次でリターンキーを押します。 トークン名を入力してください [] この証明書の名前を自由に入力してください 証明書の有効期間を入力してください (月単位) [6] 自己署名証明書が生成され、プロンプトに戻ります。 |
トークン名 (デフォルトトークンの場合は指定されない) と証明書名は、/etc/opt/SUNWportal/cert/gateway-profile-name の .nickname ファイルに格納されます。
ゲートウェイを再起動して証明書を適用します。
./psadmin start-sra-instance -u amadmin -f passwordfile -N profilename -t gateway |
CA に証明書を要求する前に、その CA が要求する情報を含む証明書署名要求 (CSR) を生成する必要があります。
root として certadmin スクリプトを実行します。
portal-server-install-root/SUNWportal/bin/certadmin -n gateway-profile-name |
証明書管理メニューが表示されます。
1) 自己署名証明書の生成 2) 証明書署名要求 (CSR) の生成 3) ルート CA 証明書の追加 4) 証明書認証局 (CA) から証明書をインストール 5) 証明書の削除 6) 証明書の信頼属性の変更 (PDC 向けなど) 7) ルート CA 証明書のリスト 8) すべての証明書のリスト 9) 証明書の内容の出力 10) 終了 選択: [10] 2 |
証明書管理メニューのオプション 2 を選択します。
組織に固有の情報、トークン名、Web マスターの電子メールアドレスと電話番号を要求するプロンプトが表示されます。
ホスト名は、完全修飾 DNS 名で指定する必要があります。
このホストの完全修飾 DNS 名を指定してください [snape.sesta.com] 組織 (企業など) の名前を指定してください [] 組織単位 (部門など) の名前を指定してください [] 所在地の都市名を指定してください [] 所在地の都道府県を指定してください [] 2 桁の国コードを指定してください [] トークン名は、デフォルトの内部 (ソフトウェア) 暗号化モジュールを使用する場合 (暗号化カードを使用する場合など) にだけ必要です。 トークン名は、modutil -dbdir /etc/opt/SUNWportal/cert -list を実行してリストを表示できます。 必要がない場合は、次でリターンキーを押します。 トークン名を入力してください [] 次に、証明書の生成の対象であるコンピュータの Web マスターへの連絡先情報を 入力します。 このサーバーの管理者または Web マスターの電子メールアドレスを指定してください [] このサーバーの管理者または Web マスターの電話番号を指定してください [] |
要求されるすべての情報を入力します。
Web マスターの電子メールアドレスと電話番号を省略することはできません。有効な CSR を取得するには、この情報が必要です。
CSR が生成され、portal-server-install-root/SUNWportal/bin/csr.hostname.datetimestamp ファイルに格納されます。CSR は画面にも出力されます。CA に証明書を要求するときは、CSR をコピーして直接貼り付けることができます。
ゲートウェイの証明書データベースに登録されていない CA が署名した証明書をクライアントサイトが提示した場合、SSL ハンドシェークは失敗します。
これを防ぐには、証明書データベースにルート CA 証明書を追加する必要があります。これにより、ゲートウェイはその CA を認識できるようになります。
ブラウザで CA の Web サイトにアクセスし、その CA のルート証明書を取得します。certadmin スクリプトを使用するときは、ルート CA 証明書のファイル名とパスを指定します。
root として certadmin スクリプトを実行します。
portal-server-install-root/SUNWportal/bin/certadmin -n gateway-profile-name |
証明書管理メニューが表示されます。
1) 自己署名証明書の生成 2) 証明書署名要求 (CSR) の生成 3) ルート CA 証明書の追加 4) 証明書認証局 (CA) から証明書をインストール 5) 証明書の削除 6) 証明書の信頼属性の変更 (PDC 向けなど) 7) ルート CA 証明書のリスト 8) すべての証明書のリスト 9) 証明書の内容の出力 10) 終了 選択: [10] 3 |
証明書管理メニューのオプション 3 を選択します。
ルート証明書を格納したファイルの名前と証明書名を入力します。
証明書データベースにルート CA 証明書を追加します。
ゲートウェイのインストール時に、自己署名証明書がデフォルトで作成およびインストールされます。インストール後はいつでも、正式な認証局 (CA) サービスを提供するベンダーまたは自社の CA が署名した SSL 証明書をインストールすることができます。
この作業は、次の 3 段階で実行されます。
証明書署名要求 (CSR) を生成したら、その CSR を使用して CA に証明書を要求します。
認証局の Web サイトにアクセスし、証明書を要求します。
CA が必要とする場合は、CSR を提示します。CA によっては、その他の情報の提供も必要です。
CA から証明書が届きます。これをファイルに保存します。ファイルには、証明書の内容だけでなく、「BEGIN CERTIFICATE」および「END CERTIFICATE」という行も含めます。
次の例には、実際の証明書データは含まれていません。
-----BEGIN CERTIFICATE----- 証明書の内容 ----END CERTIFICATE----- |
certadmin スクリプトを使用して、CA から届いた証明書を /etc/opt/SUNWportal/cert/gateway-profile-name 内のローカルデータベースファイルにインストールできます。
root として certadmin スクリプトを実行します。
portal-server-install-root/SUNWportal/bin/certadmin -n gateway-profile-name |
証明書管理メニューが表示されます。
1) 自己署名証明書の生成 2) 証明書署名要求 (CSR) の生成 3) ルート CA 証明書の追加 4) 証明書認証局 (CA) から証明書をインストール 5) 証明書の削除 6) 証明書の信頼属性の変更 (PDC 向けなど) 7) ルート CA 証明書のリスト 8) すべての証明書のリスト 9) 証明書の内容の出力 10) 終了 選択: [10] 4 |
証明書管理メニューのオプション 4 を選択します。
証明書ファイル名、証明書名、トークン名の入力を求められます。
証明書が含まれているファイルの名前 (パスを含む) を指定してください この証明書の証明書署名要求 (CSR) の作成時に使用したトークン名を入力してください [] |
要求されるすべての情報を入力します。
証明書が /etc/opt/SUNWportal/cert/gateway-profile-name にインストールされ、画面はプロンプトに戻ります。
ゲートウェイを再起動して証明書を適用します。
./psadmin start-sra-instance -u amadmin -f passwordfile -N profilename -t gateway |
証明書管理スクリプトを使用して、証明書を削除することができます。
root として certadmin スクリプトを実行します。
portal-server-install-root/SUNWportal/bin/certadmin -n |
gateway-profile-name は、ゲートウェイのインスタンス名です。
証明書管理メニューが表示されます。
1) 自己署名証明書の生成 2) 証明書署名要求 (CSR) の生成 3) ルート CA 証明書の追加 4) 証明書認証局 (CA) から証明書をインストール 5) 証明書の削除 6) 証明書の信頼属性の変更 (PDC 向けなど) 7) ルート CA 証明書のリスト 8) すべての証明書のリスト 9) 証明書の内容の出力 10) 終了 選択: [10] 5 |
証明書管理メニューのオプション 5 を選択します。
削除する証明書の名前を入力します。
証明書の信頼属性の変更が必要となる理由の 1 つに、ゲートウェイでのクライアント認証の使用が挙げられます。クライアント認証には、PDC (Personal Digital Certificate) などがあります。ゲートウェイは、PDC を発行する CA を信頼する必要があり、証明書の信頼属性は、SSL 用に「T」に設定する必要があります。
ゲートウェイが HTTPS サイトとの通信を設定されている場合、ゲートウェイは、HTTPS サイトのサーバー証明書を発行する CA を信頼する必要があり、証明書の信頼属性は SSL 用に「C」に設定する必要があります。
root として certadmin スクリプトを実行します。
gateway-install-root/SUNWportal/bin/certadmin -n gateway-profile-name |
gateway-profile-name は、ゲートウェイのインスタンス名です。
証明書管理メニューが表示されます。
1) 自己署名証明書の生成 2) 証明書署名要求 (CSR) の生成 3) ルート CA 証明書の追加 4) 証明書認証局 (CA) から証明書をインストール 5) 証明書の削除 6) 証明書の信頼属性の変更 (PDC 向けなど) 7) ルート CA 証明書のリスト 8) すべての証明書のリスト 9) 証明書の内容の出力 10) 終了 選択: [10] 6 |
証明書管理メニューのオプション 6 を選択します。
出力する証明書の名前を入力します。たとえば、Thawte Personal Freemail CA などです。
証明書の名前を入力してください Thawte Personal Freemail CA |
証明書の信頼属性を入力します。
証明書に持たせる信頼属性を入力してください [CT,CR,CT] |
証明書の信頼属性が変更されます。
証明書管理スクリプトを使用して、すべての CA 証明書をリスト表示することができます。
root として certadmin スクリプトを実行します。
portal-server-install-root/SUNWportal/bin/certadmin -n gateway-profile-name |
gateway-profile-name は、ゲートウェイのインスタンス名です。
証明書管理メニューが表示されます。
1) 自己署名証明書の生成 2) 証明書署名要求 (CSR) の生成 3) ルート CA 証明書の追加 4) 証明書認証局 (CA) から証明書をインストール 5) 証明書の削除 6) 証明書の信頼属性の変更 (PDC 向けなど) 7) ルート CA 証明書のリスト 8) すべての証明書のリスト 9) 証明書の内容の出力 10) 終了 選択: [10] 7 |
証明書管理メニューのオプション 7 を選択します。
すべてのルート CA 証明書が表示されます。
証明書管理スクリプトを使用して、すべての証明書とその信頼属性を表示することができます。
root として certadmin スクリプトを実行します。
portal-server-install-root /SUNWportal/bin/certadmin -n gateway-profile-name |
gateway-profile-name は、ゲートウェイのインスタンス名です。
証明書管理メニューが表示されます。
1) 自己署名証明書の生成 2) 証明書署名要求 (CSR) の生成 3) ルート CA 証明書の追加 4) 証明書認証局 (CA) から証明書をインストール 5) 証明書の削除 6) 証明書の信頼属性の変更 (PDC 向けなど) 7) ルート CA 証明書のリスト 8) すべての証明書のリスト 9) 証明書の内容の出力 10) 終了 選択: [10] 8 |
証明書管理メニューのオプション 8 を選択します。
すべての CA 証明書が表示されます。
証明書管理スクリプトを使用して、証明書を出力することができます。
root として certadmin スクリプトを実行します。
portal-server-install-root/SUNWportal/bin/certadmin -n gateway-profile-name |
gateway-profile-name は、ゲートウェイのインスタンス名です。
証明書管理メニューが表示されます。
1) 自己署名証明書の生成 2) 証明書署名要求 (CSR) の生成 3) ルート CA 証明書の追加 4) 証明書認証局 (CA) から証明書をインストール 5) 証明書の削除 6) 証明書の信頼属性の変更 (PDC 向けなど) 7) ルート CA 証明書のリスト 8) すべての証明書のリスト 9) 証明書の内容の出力 10) 終了 選択: [10] 9 |
証明書管理メニューのオプション 9 を選択します。
出力する証明書の名前を入力します。