第3章 Red Hat Quayへの接続を保護するためのSSLの使用
このドキュメントでは、Red Hat Quay をシングルノードまたは高可用性デプロイメントでデプロイしていることを前提としています。
自己署名証明書を使用して Red Hat Quay を構成するには、認証局 (CA) を作成し、必要なキーファイルと証明書ファイルを生成する必要があります。その後、Red Hat Quay Config Toolやコマンドラインを使ってこれらのファイルを入力します。
3.1. CAの作成と証明書への署名 リンクのコピーリンクがクリップボードにコピーされました!
ルートCAを作成します。
openssl genrsa -out rootCA.key 2048 openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem
$ openssl genrsa -out rootCA.key 2048 $ openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem
Copy to Clipboard Copied! Toggle word wrap Toggle overflow その結果、カレントディレクトリに rootCA.key と rootCA.pem のファイルが作成されます。
証明書と秘密鍵の作成: Red Hat QuayにTLSを処理させる場合は、構成時に提供する証明書と秘密鍵を作成する必要があります。これらのファイルは、証明書機関から入手することができます。ここでは、先ほど作成した自己署名証明書を使って、これらのファイルを作成する方法を紹介します。
この例では、device.crtとdevice.keyファイルを作成します。これらのファイルはRed Hat Quayにアップロードされ、それぞれssl.certとssl.keyという名前に変更されます。
OpenShift は長い完全修飾ドメイン名を作成するため、Red Hat Quay アプリケーションへの特定のルートではなく、より大きなドメインを特定するためにワイルドカードの使用を検討してください。例えば、サーバーのホスト名を聞かれたら、*.apps.openshift.example.comのように入力します。
Common Name (eg, your name or your server's hostname) []:*apps.openshift.example.com
Common Name (eg, your name or your server's hostname) []:*apps.openshift.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow openssl genrsa -out device.key 2048 openssl req -new -key device.key -out device.csr
$ openssl genrsa -out device.key 2048 $ openssl req -new -key device.key -out device.csr
Copy to Clipboard Copied! Toggle word wrap Toggle overflow そして、先ほど作成したルートCAで証明書に署名します。
openssl x509 -req -in device.csr -CA rootCA.pem \ -CAkey rootCA.key -CAcreateserial -out device.crt -days 500 -sha256
$ openssl x509 -req -in device.csr -CA rootCA.pem \ -CAkey rootCA.key -CAcreateserial -out device.crt -days 500 -sha256
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
先ほどの*.keyと*.crtファイルを生成する代わりに、openssl.cnf
ファイルを作成することができます。これにより、証明書要求を生成するコマンドのプロンプトに応答するだけでは得られない、より多くの情報を証明書に追加することができます。このopenssl.cnf
ファイルの例では、DNS.1
とIP.1
をRed Hat Quayサーバーのホスト名とIPアドレスに置き換えます。
openssl.cnf
そして、次のようにして鍵を生成することができます。
openssl x509 -req -in ssl.csr -CA rootCA.pem \ -CAkey rootCA.key -CAcreateserial -out ssl.cert \ -days 356 -extensions v3_req -extfile openssl.cnf
$ openssl x509 -req -in ssl.csr -CA rootCA.pem \
-CAkey rootCA.key -CAcreateserial -out ssl.cert \
-days 356 -extensions v3_req -extfile openssl.cnf