HttpClient ヌードル上での SSL の手動設定
以下の手順に従います。
sm1252sp1jjp
以下の手順に従います。
- 証明書を管理します。
- クライアント証明書認証を設定します。
- server.conf ファイルを設定します。
証明書の管理
CA Access Gateway
では OpenSSL 暗号化ツールキットを使用します。このツールキットは SSL v2/v3 およびトランスポート レイヤ セキュリティ(TLS v1)ネットワーク プロトコル、および関連する暗号化標準を実装します。OpenSSL ツールキットには、キーおよび証明書を生成するための openssl コマンド ライン ツールが含まれます。openssl の実行可能イメージおよびサポート ライブラリは、installation_home\SSL\bin フォルダまたは対応する UNIX ディレクトリにあります。以下の手順に従います。
- 注意事項を確認します。
- 以下のいずれかの手順を使用して、秘密キーを生成します。
- FIPS 専用モード用の秘密キーを生成します。
- FIPS COMPAT モード用の秘密キーを生成します。
- 以下の手順のいずれかを実行します。
- 証明書署名リクエストを生成して認証機関へサブミットし、認証機関から証明書をダウンロードしてインストールします。
- 自己署名公開証明書を生成します。
注意事項の確認
SSL を設定する前に、秘密キーおよびサーバ証明書に関する以下の情報を確認します。
- サーバ証明書と秘密キーは連携して動作するため、サーバ証明書を対応する秘密キーと共に使用します。
- サーバ証明書は認証機関(CA)によってデジタル署名する必要があります。社内デモ用に SSL を有効にする場合、サーバ証明書をユーザ自身の秘密キーで自己署名することができます。
- SSL.conf ファイル内の SSLCertificateFile および SSLCertificateKeyFile ディレクティブは、対応する証明書およびキー ファイルを指している必要があります。
- でクライアント証明書およびルート証明書がアルファベット順に並べ替えられていることを確認します。クライアント証明書は名前順でそのルート証明書の前にある必要があり、両方の名前は小文字で指定されている必要があります。AG_installation_path/CA/secureporxy/SSL/clientcerts/certs location例:クライアント証明書の名前が noodle.cert である場合、クライアント証明書名が並び替えで最初に表示されるように、そのルート証明書の名前を noodleroot.cert にします。
秘密キーの生成
SSL ではキーを使用し、メッセージを暗号化および復号化します。キーはペアで提供されます(公開キー 1 つと秘密キー 1 つ)。
キーでは、さまざまな暗号化アルゴリズムおよびキー交換メソッドを使用します。証明書で使用する秘密キーを生成するには、一般的に、DES (Data Encryption Standard)暗号化アルゴリズムを含む RSA キー交換メソッドが使用されます。キー出力ファイルは、暗号化された ASCII PEM 形式です。
FIPS 専用モード用の秘密キーの生成
PKCS#8 形式では、互換性がある暗号化およびハッシュ アルゴリズムを使用して、ファイルを暗号化します。必要な強力な暗号化では、3DES 署名および SHA1 ハッシュを使用します。
暗号化された秘密キーを生成するには、以下の手順を実行します。
- コマンド ライン ウィンドウを開きます。
- 以下のディレクトリに移動します。installation_home\SSL\bininstallation_homeCA Access Gatewayのインストール先ディレクトリを定義します。デフォルト: (Windows) [32-bit] C:\Program Files\CA\secure-proxyデフォルト: (Windows) [64-bit] C:\CA\secure-proxyデフォルト: (UNIX/Linux) /opt/CA/secure-proxy
- 以下のコマンドを実行して、暗号化されていないキーを生成します。openssl genrsa -out unencryptedserver.keynumbits(オプション) numbits生成する必要がある秘密キーのサイズ(ビット単位)を指定します。デフォルト: 1024範囲: 1024 ~ 2048
- 以下のコマンドを実行して、生成されたキーを暗号化し、ファイルを保護するためのパスフレーズを入力します。
openssl pkcs8 -in unencryptedserver.key -topk8 -outserver.key -v1 PBE-SHA1-3DES
server
サーバの完全修飾ドメイン名を指定します。
暗号化されていない秘密キーを生成するには、以下の手順を実行します。
- コマンド ライン ウィンドウを開きます。
- 以下のディレクトリに移動します。installation_home\SSL\bininstallation_homeCA SiteMinder® SPS のインストール先ディレクトリを定義します。デフォルト: (Windows) [32-bit] C:\Program Files\CA\secure-proxyデフォルト: (Windows) [64-bit] C:\CA\secure-proxyデフォルト: (UNIX/Linux) /opt/CA/secure-proxy
- 以下のコマンドを実行します。openssl genrsa -out ..\keys\server.keynumbitsserverサーバの完全修飾ドメイン名を指定します。(オプション) numbits生成する必要がある秘密キーのサイズ(ビット単位)を指定します。デフォルト: 1024範囲: 1024 ~ 2048
暗号化されていないサーバ秘密キーが生成されます。
FIPS COMPAT モードでの秘密キーの生成
これは、互換性がある暗号化およびハッシュ アルゴリズムを使用して、ファイルを暗号化します。必要な強力な暗号化では、3DES 署名および MD5 ハッシュを使用します。
暗号化された秘密キーを生成するには、以下の手順を実行します。
- コマンド ライン ウィンドウを開きます。
- 以下のディレクトリに移動します。installation_home\SSL\bininstallation_homeCA SiteMinder® SPS のインストール先ディレクトリを定義します。デフォルト: (Windows) [32-bit] C:\Program Files\CA\secure-proxyデフォルト: (Windows) [64-bit] C:\CA\secure-proxyデフォルト: (UNIX/Linux) /opt/CA/secure-proxy
- 以下のコマンドを実行し、ファイルを保護するパスフレーズを入力します。openssl genrsa -des3 -out ..\keys\server.key [numbits]serverサーバの完全修飾ドメイン名を指定します。(オプション)numbits生成する必要がある秘密キーのサイズ(ビット単位)を指定します。デフォルト: 1024範囲: 1024 ~ 2048
暗号化されていない秘密キーを生成するには、以下の手順を実行します。
- コマンド ライン ウィンドウを開きます。
- 以下のディレクトリに移動します。installation_home\SSL\bininstallation_homeCA SiteMinder® SPS のインストール先ディレクトリを定義します。デフォルト: (Windows) [32-bit] C:\Program Files\CA\secure-proxyデフォルト: (Windows) [64-bit] C:\CA\secure-proxyデフォルト: (UNIX/Linux) /opt/CA/secure-proxy
- 以下のコマンドを実行します。openssl genrsa -out ..\keys\server.key [numbits]serverサーバの完全修飾ドメイン名を指定します。(オプション)numbits生成する必要がある秘密キーのサイズ(ビット単位)を指定します。デフォルト: 1024範囲: 1024 ~ 2048
証明書署名リクエストの生成およびサブミット
秘密キーを使用して証明書リクエストまたは証明書署名リクエストを生成し、証明書に署名するために、それを認証機関にサブミットします。
以下の手順に従います。
- コマンド ライン ウィンドウを開きます。
- 以下のコマンドを実行します。openssl req -config .\openssl.cnf -new -key ..\keys\server.key -out ..\keys\server.csr
- 画面の指示に従って値を入力します。システムは、証明書ファイル名とリクエスト番号を含む証明書リクエストを生成します。
- (オプション)後で参照するためにファイル名と証明書署名リクエストを記録しておきます。
- 証明書署名リクエストを認証機関にサブミットします。
認証機関からの証明書のダウンロードおよびインストール
署名付き証明書を認証機関からダウンロードします。
以下の手順に従います。
- 証明書リクエストを発行したCA Access Gatewayホストにログインします。
- httpd-ssl conf ファイルを開きます。デフォルト パス:installation_home\httpd\conf\extra\httpd-ssl.conf
- サーバ キーおよび証明書のディレクティブが正しいことを確認します。
- SSLPassPhraseDialog 変数の値をカスタムに設定します。
- SSLCustomPropertiesFile 変数の値を \httpd\conf\spsapachessl.properties に設定します。
- RootCA への参照が設定されていることを確認します。
- RootCA または自己署名証明書を ca-bundle.cert に追加するには、以下の手順に従います。
- メモ帳で証明書を開き、BEGIN から END までの行をコピーします。
- メモ帳で ca-bundle.cert を開き、証明書の行を末尾に貼り付けます。
- 変更を保存します。
自己署名証明書の生成
自己署名証明書を生成するには、以下の手順を実行します。
- コマンド ライン ウィンドウを開きます。
- 以下のコマンドを実行します。openssl req -new -x509 -key server.key -out server.crt -days 365 -config openssl.cnf
- 出力ファイルを以下の場所に置きます。
installation_home\SSL\certs
クライアント証明書認証の設定
CA Access Gateway
とバックエンド サーバの間の安全な SSL 接続に対して、クライアント証明書認証を確立します。クライアント証明書認証を有効にすると、CA Access Gateway
は、バックエンド サーバのリソースをリクエストする場合に、自分自身を認証するためにクライアント証明書を使用します。前提条件
クライアント証明書認証を有効にするために、
CA Access Gateway
を設定する前に、以下のタスクが完了していることを確認します。- ライアント証明書認証が、ユーザ リクエストの転送先の Web サーバで有効である。
- クライアント証明書が、CA Access Gatewayのインストール時にインストールされた openssl.exe ユーティリティを使って、pkcs8 規格のCA Access Gatewayに対して生成されている。
- 既存のクライアント証明書を使用する場合は、pkcs8 DER 形式に変換されている。
- CA Access Gatewayクライアント証明書の公開証明書およびルート証明書が、installation_path\SSL\Clientcert\certs に格納されている。
- 設定済み Web サーバの公開証明書が、installation_path\SSL\certs\ca-bundle.cert に格納されている。
- CA Access Gatewayクライアント証明書の公開証明書が、設定済み Web サーバの信頼されたストアに格納されている。
クライアント証明書認証の有効化
クライアント証明書認証を有効にするために、
CA Access Gateway
を設定します。以下の手順に従います。
- 以下の手順を実行して、CA Access Gatewayクライアント証明書の秘密キーのパスワードを暗号化します。
- コマンド プロンプトを開きます。
- 以下の場所に移動します。installation_path\SSL\bin location
- 以下のコマンドを実行します。WindowsEncryptUtil.bat <SPSCertificatePrivateKey_Password>UNIXEncryptUtil.sh <SPSCertificatePrivateKey_Password>暗号化されたパスワードが表示されます。
- sslparams セクションで以下の手順に従うことにより、server.conf ファイル内のクライアント証明書認証詳細を設定します。
- CA Access Gatewayクライアント証明書のキー ファイル名を、ClientKeyFile に pkcs8 形式で入力します。
- ClientPassPhrase の手順 1 で生成した、暗号化されたパスワードを入力します。
- 設定済み Web サーバへクライアント リクエストを転送するには、proxyrules.xml ファイルを設定します。
- CA Access Gatewayを再起動します。クライアント証明書認証は、CA Access Gatewayおよびバックエンド サーバの間で有効になります。
server.conf ファイルの設定
server.conf ファイル内の <sslparams> セクションには、CA SiteMinder® SPS と送信先サーバの間の Secure Sockets Layer (SSL)通信を有効にするために必要な設定が記述されています。
以下の手順に従います。
- server.conf ファイルを開き、<sslparams> セクションに移動します。
- 以下のパラメータを設定します。
- versionsサポートされる SSL バージョンを決定します。 複数のバージョンを指定する場合は、カンマでバージョンを区切ります。
- ciphers有効または無効にできる暗号の一覧を指定します。暗号が有効な場合、リストの前に + 記号が付きます。暗号が無効な場合、リストの前に - 記号が付きます。複数の暗号を指定する場合は、各エントリをカンマで区切ります。
- cacertpath信頼できる証明機関情報を格納するディレクトリ パスを指定します。このパスは、SPS のインストール パスに対する相対パスになります。CA Access Gatewayのインストール中に設定ウィザードを実行すると、この値が設定されます。この値は変更しないでください。
- cacertfilename証明書の認証機関バンドルが含まれるファイルの完全修飾パス名を指定します。このファイルは、.cer または .cert のファイル拡張子を持ち、PEM でエンコードされている必要があります。また、認証機関(CA)バンドルへのフル パスを含む必要があります。CA Access Gatewayのインストール中に設定ウィザードを実行すると、この値が設定されます。
- ClientKeyFileCA Access Gatewayクライアントの証明書キーのファイル名を、DER でエンコードされ、パスワードが暗号化された pkcs8 形式で指定します。このファイルは、以下の場所に置かれていることを確認します。installation_path/SSL/clientcert/key
- ClientPassPhraseEncryptUtil ツールを使用して、CA Access Gatewayクライアント証明書キー ファイルからキーを抽出するパスフレーズを指定します。
- maxcachetimeSSL セッション ID がCA Access GatewayHTTPS クライアントによる再利用のためにキャッシュされる期間(秒単位)を指定します。HTTPS 接続を介してファイルをリクエストすると、SSL ハンドシェイクが発生し、SSL セッション ID が作成されます。この SSL セッション ID はユーザ セッションを識別するためにCA Access Gatewayおよびバックエンド サーバによって使用されます。HTTPS 接続がユーザに対して終了した場合、CA Access Gatewayは SSL セッション ID を、このパラメータによって指定された最大期間キャッシュします。同じユーザがバックエンド サーバへの新しい HTTPS 接続をリクエストする場合、ユーザは応答を高速化するため、キャッシュされている SSL セッション ID を送信できます。この場合、ユーザが提供した SSL セッション ID は、キャッシュされている SSL セッション ID と比較されます。キャッシュの SSL セッション ID が使用可能な場合、新しい HTTPS 接続の確立が高速化されます。デフォルト: 120000 ミリ秒注:SSL 通信を有効にする前に、CA Access Gatewayをインストールするために使用された JDK のロケーションに Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy ファイルがインストールされたことを確認します。
- 変更を保存します。