web-dev-qa-db-ja.com

Dockerfile内でLDAPSのJenkinsにSSL自己署名証明書を追加するにはどうすればよいですか?

JenkinsのセキュリティでLDAPSを有効にしたいのですが、私のLDAPサーバーには自己署名CERTがあります。誰かがこれをしたか、これを行う上でいくつかの指針がありますか? keytoolを使用する必要がありますか?

私のDockerfileで次のことを試していますが、これは機能しません。

FROM jenkins

USER root

# Install CA certs
COPY ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
RUN chmod +r /etc/ssl/certs/ca-certificates.crt

# Install the Jenkins plugin  
COPY plugins.txt /usr/share/jenkins/plugins.txt
RUN /usr/local/bin/plugins.sh /usr/share/jenkins/plugins.txt

# Expose container port 33838 for Jenkins UDP-based auto-discovery
EXPOSE 33848/udp

ENV Java_OPTS -Xmx2048m
13
occasl

これをDockerfileに追加するだけでよいことがわかります。ここで、ldap.cerは自己署名証明書の証明書チェーンです。

COPY ldap.cer $Java_HOME/jre/lib/security
RUN \
    cd $Java_HOME/jre/lib/security \
    && keytool -keystore cacerts -storepass changeit -noprompt -trustcacerts -importcert -alias ldapcert -file ldap.cer
22
occasl

Keytoolを実行して、CA証明書をJavaキーストアにインポートします。

見る:

telling Java自己署名されたssl証明書を受け入れる

0
Mark O'Connor

jenkinsnexusおよびsonarqubedocker runの開始パラメーターを使用して、ホスト上で抽出および準備されたcacertsファイルを使用します。

Stackoverflow "DockerのJRE cacertへの自己署名証明書のインポートはサービスによって認識されません")の私の回答を参照してください

0
Volker Seibt