SSL-client-CERT mit Docker-container?

Ich bin neu in Docker und versuchen, es zu lernen. Ich bin mit Docker Quickstart-Terminal auf Windows 7.
Ich habe eine einfache Anforderung, wo ich bin mit Tomcat in einem Docker-container. Meine DockerFile ist wie folgt:

FROM tomcat:8.0.47-jre7
RUN cd /usr/local/tomcat/webapps
COPY test.war /usr/local/tomcat/webapps/test.war

Dann ich Frage einfach erstellen und ausführen von Befehlen im Andockfenster Konsole.

test.Krieg ist ein Java-web-service. Dieser web-service ruft intern andere web-Dienste auf entfernten hosts über HTTPS.
Ich habe die certs für die remote-hosts.

Ich habe versucht, mehrere Möglichkeiten zur Verfügung, auf dem internet zu importieren oder kopieren Sie die CERT an verschiedenen Orten, wie erwähnt auf verschiedenen Foren/blogs, aber vergeblich. Immer wenn ich mit HTTPS aufrufen, die externe web-service aus testen.Krieg, es gibt mir die SSL-Handshake-Fehler.

Ich habe auch einen Java-keystore. Ich habe Java auch in meiner Docker-Datei und versucht, den keystore, aber wieder vergeblich.

Wenn ich den gleichen test.Krieg auf dem tomcat installiert direkt auf meiner Maschine, es funktioniert absolut in Ordnung.

Kann mir jemand helfen, indem Sie die Schritte zum importieren/verwenden von SSL certs/keystore in diesem Szenario. Auch, wie kann ich den import von mehr als einer certs?

  • Welche Schritte haben Sie ausgeführt haben, um den import-certs?
  • Von dem, was Sie beschrieben haben, müssen Sie den certs zu truststore (nicht zu verwechseln mit keystore). Es gibt verschiedene Möglichkeiten, abhängig von den Technologien, die Sie verwenden, um einen Anruf zu tätigen. Zum Beispiel, für das Frühjahr starten es könnte sein, wie dieses stackoverflow.com/a/43235569/2065796 können Sie das update auch die jvm innerhalb des Containers mit der trusted-certs, etc. Weitere Informationen, wie Sie einen Anruf tätigen, damit wir in der Lage sein, um Ihnen zu helfen.
  • Unabhängigen Kommentar zu deinem problem, aber statt RUN cd /usr/local/tomcat/webapps Sie kann/sollte man verwenden WORKDIR /usr/local/tomcat/webapps zu halten leichte und best-practice-freundlich 🙂
  • Ich habe versucht, die folgenden: AUS registry.access.redhat.com/rhel7.1 ENV JAVA_HOME=/usr/lib/jvm/jre KOPIEREN ./certs/My_Root_CA.cer /etc/ssl/certs/ KOPIEREN ./certs/My_Issuing_CA.cer /etc/ssl/certs/ RUN $JAVA_HOME/bin/keytool -storepasswd -neue mysecretpassword -keystore $JAVA_HOME/lib/security/cacerts -storepass changeit ...
  • habe auch versucht, die folgenden: HINZUFÜGEN your_ca_root.crt /usr/local/share/ca-certificates/foo.crt-update-ca-certificates Schritte an folgenden Standorten: docs.docker.com/engine/security/https/... docs.docker.com/engine/security/https/#secure-by-default
  • Können Sie bitte zeigen Sie mir das hinzufügen von trusted-certs, um die jvm-option...ich mache alle diese Anrufe durch den jeweiligen web-service-urls - sowohl meine web-service sowie die interne web-Dienste, die Sie fordert,...bitte lassen Sie mich wissen, wenn Sie sind auf der Suche nach spezifischen Informationen darüber, wie ich die Aufrufe.
  • Ich habe auch die Base64-certs in der Datei /usr/ssl/certs/ca-bundle.crt; ich habe auch versucht: KOPIEREN certs/xyz.cer /usr/ssl/certs/xyz.cer-update-ca-certificates
  • Ich habe es als Antwort

InformationsquelleAutor Gagan Singh | 2017-10-25
Schreibe einen Kommentar