6.2.3. Gradle プロジェクトでの自己署名証明書の使用
内部アーティファクトリポジトリーには、多くの場合、Java でデフォルトで信頼される認証局によって署名された証明書がありません。通常は、企業内の認証局によって署名されるか、または自己署名されます。これらの証明書を Java トラストストアに追加して、これらを受け入れるようにツールを設定します。
手順
リポジトリーサーバーからサーバー証明書ファイルを取得します。通常、管理者は内部アーティファクトサーバーの証明書を OpenShift シークレットとして提供する必要があります (https://access.redhat.com/documentation/en-us/red_hat_codeready_workspaces/2.6/html-single/installation_guide/index#importing-untrusted-tls-certificates_crw を参照してください)。関連するサーバー証明書は、ワークスペース内のすべてのコンテナーの
/public-certs
にマウントされます。元の Java トラストストアファイルをコピーします。
$ mkdir /projects/maven $ cp $JAVA_HOME/lib/security/cacerts /projects/maven/truststore.jks $ chmod +w /projects/maven/truststore.jks
証明書の Java トラストストアファイルへのインポート
$ keytool -import -noprompt -file /public-certs/nexus.cer -alias nexus -keystore /projects/maven/truststore.jks -storepass changeit Certificate was added to keystore
-
トラストストアファイルを
/projects/gradle/truststore.jks
にアップロードし、これをすべてのコンテナーで利用可能にします。
Gradle コンテナーにトラストストアファイルを追加します。
javax.net.ssl
システムプロパティーをJAVA_OPTS
環境変数に追加します。- mountSources: true alias: maven type: dockerimage ... env: -name: JAVA_OPTS value: >- -Duser.home=/projects/gradle -Djavax.net.ssl.trustStore=/projects/maven/truststore.jks -Djavax.net.ssl.trustStorePassword=changeit