現在表示中:

 

HTTP over SSL を有効にして、サーバーへの接続のセキュリティを強化します。どの接続をセキュリティで保護するかによって、実際の環境で以下の項目を設定します。

  • オーサーインスタンス:オーサーインスタンスへのクライアント接続をセキュリティで保護します。
  • パブリッシュインスタンス:パブリッシュインスタンスへのクライアント接続をセキュリティで保護します。
  • オーサー上のレプリケーションエージェント:オーサーインスタンスからパブリッシュインスタンスへの接続をセキュリティで保護します。
  • Dispatcher をホストする Web サーバー: Web サーバー(および間接的にパブリッシュインスタンス)へのクライアント接続をセキュリティで保護します。
MSSL を使用してレプリケーションエージェントをパブリッシュインスタンスに接続する方法について詳しくは、相互 SSL を使用したレプリケートを参照してください。

証明書の取得または作成

サーバーが HTTP メッセージに署名する際に使用する証明書を作成または取得します。

  • 開発環境の場合は、自己署名証明書で十分です。自己署名証明書を SSL 用に使用する場合は、Web ブラウザーで Web ページを開くときに、証明書の信頼性を手動で確認する必要があります。
  • 実稼動環境の場合は、証明機関(CA)の署名がある証明書を使用します。CA の公開証明書が Web ブラウザーに読み込まれると、証明書が自動的に信頼されます。

開発用証明書の作成

Java keytool を使用して自己署名証明書を作成し、キーストアファイルに格納します。以下の手順では、キーストアの作成に必要なすべての情報を含む単一のコマンドを使用します。このコマンドについて詳しくは、Oracle Java SE のドキュメントを参照してください。

  1. クイックスタート JAR ファイルが配置されているディレクトリ内に、ssl という名前のディレクトリを作成します。

  2. コマンドプロンプトで、次のコマンドを入力して、証明書とキーストアを作成します。

    keytool -genkeypair -keyalg RSA -validity 3650 -alias cqse -keystore [quickstart_dir]/ssl/keystorename.keystore  -keypass key_password -storepass  storepassword -dname "CN=Host Name, OU=Group Name, O=Company Name,L=City Name, S=State, C=Country_ Code"

以下の例では、次のプロパティを持つ秘密鍵と公開鍵のペアが生成されます。

  • エイリアス:cqse
  • キーストアファイル:cqkeystore.keystore
  • キーのパスワード:password
  • キーストアのパスワード:password
keytool -genkeypair -keyalg RSA -validity 3650 -alias cqse -keystore ~/Applications/cq5.5/author/ssl/cqkeystore.keystore -keypass password -storepass password -dname "CN=sbroders-w7, OU=CQ, O=Adobe, L=Ottawa, S=Ontario, C=CA"

実稼働で使用する証明書の入手

実稼動環境では、信頼できる証明機関(CA)の署名済み証明書を使用します。Java keytool を使用して証明書署名要求を生成し、取得したら、キーストアに読み込みます。

証明書署名要求(CSR)の生成

  1. keytool を使用して秘密鍵と公開鍵のペアを生成し、キーストアに追加します(開発用証明書の作成を参照)。

  2. 次のコマンドを入力して証明書要求を生成します。

    keytool -certreq -alias "LC Cert" -keystorekeystorename.keystore -file LCcertRequest.csr
  3. CA から署名済み証明書を受け取ったら、次の手順を実行します。

CA から入手した証明書を使用して SSL を有効化

  1. コマンドプロンプトで、次のコマンドを入力して、CA の信頼されている証明書をキーストアに読み込みます。

    keytool -importcert -trustcacerts -file rootcert.pem -keystorekeystorename.keystore -alias root

    プロジェクトとパスを設定する必要があります。

  2. 次のコマンドを入力して、署名済み証明書をキーストアに読み込みます。

    keytool -importcert -trustcacerts -file CACertificateName.crt -keystore keystorename.keystore

    注意:

    バージョン 6 の Java SE では、-import コマンドは -importcert に名前変更されています。

オーサーインスタンスでの SSL の有効化

Apache Felix Jetty ベースの HTTP サービスを、SSL を使用するように設定し、証明書を採用します。

  1. CRXDE Lite を開いて /apps フォルダーを選択します。作成フォルダーを作成をクリックして、system という名前のフォルダーを作成します(http://localhost:4502/crx/de)。

  2. system フォルダーの下に、config.author という名前のフォルダーを作成します。

  3. /apps/system/config.author ノードを選択します。

  4. 作成ノードを作成をクリックして、以下のプロパティを入力します。

    • 名前org.apache.felix.http
    • タイプsling:OsgiConfig
  5. 次の表に従って、ノードにプロパティを追加します。

    名前 タイプ
    org.apache.felix.https.enable Boolean true
    org.osgi.service.http.port.secure Long 5433
    org.apache.felix.https.nio Boolean true
    org.apache.felix.https.keystore String [quickstart_dir]/ssl/cqkeystore.keystore
    org.apache.felix.https.keystore.password String パスワード
    org.apache.felix.https.keystore.key String エイリアス(例:cqse
    org.apache.felix.https.keystore.key.password String パスワード
    org.apache.felix.https.truststore String truststore のパス
    org.apache.felix.https.truststore.password String truststore のパスワード
    (オプション)org.apache.felix.https.clientcertificate String デフォルトは none
  6. すべて保存」をクリックします。

パブリッシュインスタンスでの SSL の有効化

Publsih インスタンスで HTTP over SSL を有効にして、Web クライアントおよびレプリケーションエージェントとの接続をセキュリティで保護します(レプリケーションエージェントとの接続をセキュリティで保護するには、エージェントの設定の変更も必要です。これについては次の節で説明します)。

オーサーインスタンスの設定と同じ手順に従います。ただし、次の点が異なります。

  • org.apache.felix.http ノードを、Publsih インスタンス(http://localhost:4503/crx/de)の /apps/system/config.publish の下に作成します。
  • オーサーインスタンスとパブリッシュインスタンスが同じコンピューター上にある場合は、org.osgi.service.http.port.secure プロパティに別のポートを使用します。

セキュリティで保護された URL を使用するようにレプリケーションエージェントを設定

HTTP over SSL を使用してコンテンツレプリケーションをおこなう場合は、HTTPS プロトコルと、パブリッシュインスタンスが SSL に使用するポートを使用するように、レプリケーションエージェントを設定します。

以下の手順では、オーサーインスタンス上のパブリッシュエージェントを設定します。SSL 経由での通信を設定するすべてのレプリケーションエージェントに関して、この手順を実行してください。

  1. ツールページ(http://localhost:4502/miscadmin)を開きます。

  2. author フォルダーで、ツール/レプリケーション/エージェントをクリックします。

  3. 右側のフレームで、「デフォルトエージェント」を右クリックして「開く」をクリックします。

  4. 編集」(「接続をテスト」リンクの下)をクリックしてから、「トランスポート」タブをクリックします。

  5. URI ボックスで、HTTPS プロトコルと、パブリッシュインスタンスで SSL 用に設定したポートを使用するように、URL を変更します。

  6. 自己署名証明書を使用してパブリッシュ上で SSL を有効にした場合は、「緩和された SSL を有効にする」を選択します。

  7. OK」をクリックします。

  8. 接続をテスト」をクリックします。

SSL ポートを強制的に使用

すべてのユーザーが SSL 経由で接続するように設定する場合は、HTTP over SSL を使用する URL にトラフィックをリダイレクトします。

以下の例では、localhost:4502 へのトラフィックを https://localhost:5433 にリダイレクトします。リダイレクトを設定するには、sling:mapping ノードを作成します。要求されている URL と一致するノード名を使用し、sling:redirect プロパティを追加して、リダイレクト用の URL を指定します。

  1. Web ブラウザーで CRXDE Lite を開きます(http://localhost:4502/crx/de)。

  2. /etc/map/http フォルダーをクリックして、作成ノードを作成をクリックします。

    • 名前localhost.4502
    • タイプsling:mapping
  3. このノード用に次のプロパティを作成します。

    • 名前sling:redirect
    • タイプString
    • https://localhost:5433
  4. すべて保存」をクリックします。

また、要求された URL を sling:match プロパティとして照合するためのテキストを指定することもできます(Apache Sling ドキュメントの Mappings for Resource Resolution を参照)。

Dispatcher 使用時の SSL の設定

クライアントの要求が、オーサーインスタンスまたはパブリッシュインスタンスに到達する前に Dispatcher をターゲットとしている場合は、どの要求を SSL 経由で送信するかを決定します。

  • ユーザーから Web サーバーへ
  • オーサーインスタンスからフラッシュレプリケーションエージェントを経由して Dispatcher へ

ここでは、Web サーバー上で Dispatcher を設定済みであることを想定しています(Dispatcher を参照)。

パブリッシュインスタンスとの SSL 接続を使用するように Dispatcher を設定する方法について詳しくは、Dispatcher での SSL の使用を参照してください。

Web サーバーの設定

SSL を使用して Web クライアントと Web サーバーの間の接続をセキュリティで保護するように、Web サーバーを設定します。Web サーバー用に SSL を有効にする方法について詳しくは、Web サーバーのドキュメントを参照してください。

セキュリティで保護されている接続タイプと保護されていない接続タイプのそれぞれに個別のキャッシュを有効にする方法は、この記事では説明しません。ただし、次の方法を調べることはできます。

  • すべての SSL 接続を、別のサブドメインにある別の Apache Web サーバーおよび Dispatcher にルーティングする方法。
  • URL リダイレクトルール(Apache の場合は mod_rewrite ディレクティブ)を使用して、DocumentRoot の下の別々の場所にコンテンツをキャッシュする方法。

SSL 経由でのフラッシュ要求の送信

フラッシュ要求を SSL 経由で Dispatcher に送信する場合は、Dispatcher フラッシュレプリケーションエージェントを設定します。

レプリケーションエージェントの設定の手順に従って、Web サーバー用に設定されている SSL ポート(通常は 443)を使用します。

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー