Cocktail Public Hubサーバーのインストール
Webサービスにhttpsを適用する場合、SSL証明書の発行をVeriSignやThawte、GeoTrustなどで行うが、料金が発生するため、実際の運用サーバーでない場合は、発行が負担となる.
この場合、OpenSSLを利用して認証局を構築し、Self signed certificateを作成してSSL証明書の発行に使用する.
参考. Self Signed Certificate(SSC) とは ?
証明書(digital certificate)は、秘密鍵の所有者の公開鍵(public key)に認証局の秘密鍵で電子署名したデータを意味する。すべての証明書は、認証局(CA)が必要だが、最上位の認証局(root ca)は署名してくれる上位認証局がないため、root caの秘密鍵で自らの証明書に署名し、最上位の認証局の証明書を作る。このように自ら署名したROOT CA証明書をSelf Signed Certificateと呼ぶ.IE、FireFox、ChromeなどのWeb Browserを制作する会社は、VeriSignやcomodoなど有名なROOT CAの証明書を信頼するCAとして予め登録しているため、これらの機関で発行されたSSL証明書を使用すれば、browserが該当SSL証明書を信頼することができる。OpenSSLで作成されたROOT CAやSSL証明書は、Browserに登録されていない機関が発行した証明書であるため、セキュリティ警告が発生するが、テスト使用には支障がない.
ROOT CA証明書をBrowserに追加して、セキュリティ警告が発生しないようにすることができる.
- CSR(Certificate Signing Request) とは?
公開鍵基盤(PKI)は、 private key(秘密鍵)とpublic key(公開鍵)で構成されている。証明書というのは、自分の公開鍵が正しいと認証局(CA)が電子署名してくれるもので、セキュア通信をしようとする当事者は、自分の証明書を入手し、その中にある公開鍵を利用しなければならない.
CSRは、認証局に証明書の発行を要求をする特別なASN.1形式のファイルであり、その中には自分の公開鍵情報と使用するアルゴリズム情報などが含まれている。秘密鍵は外部に漏洩してはならないため、特別な形式のファイルを作成して認証局に伝達して証明書の発行を受ける.
SSL証明書発行時、CSR作成はWeb Serverで行われるが、Web Serverごとに方式が異なり、ユーザーがCSR作成などを難く感じるため、証明書発行の代行機関が秘密鍵まで作成して送ってくれる.
Cocktail public Hubは証明書を利用して、 Harbor< - > Cocktail build server間の通信を行う.
Cocktail Private Hubは、Harbor RegistryとCocktail build Serverのための証明書Self signed certificateを作成して、内部でHarborとDocker証明書を作成する.