PCFの展開のためのJava BuildpackにCA証明書の追加

jerome.dev:

私はここで見つけることができ、同じJava Buildpack使用したい:https://github.com/cloudfoundry/java-buildpack/をしかし、私は自分のアプリケーションとして、このパッケージには、パブリック証明書を追加できるようにしたいないと正しく動作しませんこれは、証明書をインストールしました。どのように私はこの証明書を追加し、PCFに更新buildpackを展開して行くのでしょうか?

ダニエルMikus:

私は強くbuildpack自身に証明書を追加しようとするからあなたを阻むだろう。それは(あなたは、本質的に永遠にそのフォークを維持する必要がある)buildpackをフォークし、そのあなたのためのメンテナンスの負担を作成する必要があり。

代わりに、私はあなたがいずれかのアプリとの証明書をバンドルまたは使用することをお勧めボッシュは、デフォルトですべてのアプリケーションコンテナに証明書を展開する本命を信頼できます

あなただけのカップルのアプリケーションのための証明書が必要な場合、それはアプリでそれをバンドルする方が簡単です。あなたはサイト全体のそれを必要とする場合はボッシュが証明書を信頼されるよう、企業/内部認証局のように、あなたはそれを展開する必要があります。

アプリでバンドルするには、カップルのオプションがあります。

  • あなたは、設定することができますJAVA_OPTS含める-Djavax.net.ssl.Truststoreトラストストアにアプリをバンドルすることをポイントします。完全にあなたはすべての通常のデフォルト値を持っている必要がありますので、デフォルトのトラストストアを上書きしますプラスカスタムは本命を信頼し、この点に注意してください。これは、デフォルトのトラストストアを開始し、それに追加する最も簡単です。

    例:

    cf set-env <app> JAVA_OPTS '-Djavax.net.ssl.TrustStore=classpath:resources/config/truststore'
    
  • あなたは追加することができます.profile実行され、輸入カスタムがデフォルトキーストアに本命を信頼できるというスクリプトを。あなたの内容.profileのスクリプトは次のようになります。

    #!/bin/bash  
    $HOME/.java-buildpack/open_jdk_jre/bin/keytool -keystore $HOME/.java-buildpack/open_jdk_jre/lib/security/cacerts -storepass changeit -importcert -noprompt -alias MyCert -file $HOME/WEB-INF/ssl/MyCert.crt
    

    取得するには注意が必要です.profileちょうどいい場所にスクリプトを。それはあなたが生成するWARまたはJARファイルのルートで終わる必要があります。あなたが実行した場合jar tf <jar-or-war-file>、あなたは見るべき.profileすべての主要なパスなしで記載されています。ファイルの前のパスがある場合、それは間違った場所にあります。

ホープことができます!

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=236060&siteId=1