2016-03-25 21 views
1

Ich verwende diesen Befehl mehrmals und funktioniert immer:Wie fügen Sie ein Zertifikat zum Java CA Zertifikatspeicher in Openshift (cacerts) hinzu?

cd ../../jdk/jre/lib/security 
keytool -import -trustcacerts -alias my.alias -file /../../myCert.crt -keystore cacerts 

Jetzt in Openshift mit einem jboss-as 7:

cd /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.95/jre/lib/security 
keytool -import -trustcacerts -alias my.alias -file /../.../myCert.crt -keystore cacerts 

Fehlerprotokoll ist:

Enter keystore password: 
Owner: CN=... 
Issuer: CN=... 
Serial number:.... 
... 
Trust this certificate? [no]: yes 
Certificate was added to keystore 
keytool error: java.io.FileNotFoundException: cacerts (Permission denied) 

die archivies Überprüfung Ich sehe, dass die Datei cacerts ein Simlink ist. Diese SimLink hat 0777 Berechtigungen aber Quelldatei rw-r - r-- oder 0644 Berechtigungen:

/etc/pki/java/cacerts 

Also meine Fragen sind:

1.- Wie kann ich ändern permisssions in Openshift? Ich habe es versucht und bekomme einen Fehler.

2.- Gibt es eine andere Möglichkeit, mein Zertifikat zu Java-cacerts-Datei in openshift hinzuzufügen?

3.- Openshift bieten einige Konfiguration, um dies zu tun?

Vielen Dank im Voraus!

+0

Haben Sie dieses Problem zu beheben können? –

Antwort

0

Dies ist ein Problem mit Betriebssystemberechtigungen, kein OpenShift-, PKI- oder KeyTool-Problem. Vielleicht sollten Sie Root-/Administrator-Zugriff verwenden und die Dateiberechtigungen (z. B. chmod) ändern, damit Sie darauf zugreifen können.

+0

Openshift erlaubt jetzt super Benutzerzugriff: http://stackoverflow.com/a/31322169/3957754. – JRichardsz

+0

@JRichardsz Ok, dann erstellen Sie einen neuen cacerts Keystore auf einem anderen Rechner und scp es auf den OpenShift-Server. Konfigurieren Sie Ihr Serverprodukt (z. B. Webserver) so, dass der neue cacerts-Keystore als Truststore verwendet wird. Das hängt vom Produkt ab, also ist es die beste Richtung, die ich Ihnen geben kann. Wenn Sie eine andere cacerts-Datei nicht SCP oder die vorhandene ändern können, sehe ich keine Möglichkeit, es zu tun. \ – KyleM

+0

danke @KyleM. Ich werde es versuchen!! Ich werde dir das Ergebnis sagen. Grüße. – JRichardsz

1

ich auf diese Frage kam und eine Lösung

Anfangs fand ich die Standardschlüsselspeicher kopiert und ein eigenes Zertifikat nachträglich hinzugefügt:

RUN mkdir -p source/configuration/security && \ 
     keytool --importkeystore -noprompt \ 
     -srckeystore /etc/pki/ca-trust/extracted/java/cacerts \ 
     -srcstorepass changeit \ 
     -destkeystore source/configuration/security/<custom>.jks \ 
     -deststorepass changeit 

    ADD certificates/

    RUN keytool -import -v -file /certs/<my-certficate> \ 
     -keystore source/configuration/security/<custom>.jks \ 
     -noprompt -storepass changeit