6.2.3. Gradle プロジェクトでの自己署名証明書の使用
内部アーティファクトリポジトリーには、多くの場合、Java でデフォルトで信頼される認証局によって署名された証明書がありません。これらは主に内部の会社認証局によって署名されるか、または自己署名されます。これらの証明書を Java トラストストアに追加して、これらを受け入れるようにツールを設定します。
手順
リポジトリーサーバーからサーバー証明書ファイルを取得します。これは、管理者が内部アーティファクトサーバーの証明書を OpenShift シークレットとして提供するためのものです (「Importing untrusted TLS certificates to CodeReady Workspaces」を参照)。関連するサーバー証明書は、ワークスペース内のすべてのコンテナーの
/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