2016-03-25 1 views
1

J'utilise cette commande plusieurs fois et fonctionne toujours:Comment ajouter un certificat au magasin de certificats CA Java dans Openshift (cacerts)?

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

Maintenant en OpenShift avec 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 

journal d'erreur est:

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) 

Passant en revue les archivies , Je vois que le fichier cacerts est un lien hypertexte. Cette simlink a 0777 autorisations, mais le fichier source a rw-r - r-- ou 0644 autorisations:

/etc/pki/java/cacerts 

Mes questions sont les suivantes:

Comment puis-je 1.- modifier permisssions en OpenShift? J'ai essayé et j'ai une erreur.

2.- Existe-t-il un autre moyen d'ajouter mon certificat au fichier java cacerts dans openshift?

3.- Openshift offre une certaine configuration pour ce faire?

Merci d'avance!

+0

Avez-vous pu résoudre ce problème? –

Répondre

0

Il s'agit d'un problème d'autorisations des systèmes d'exploitation, et non d'un problème openshift, PKI ou keytool. Peut-être devriez-vous utiliser l'accès root/administrateur et modifier les permissions du fichier (par exemple chmod) afin que vous puissiez y accéder.

+0

Openshift permet maintenant l'accès super utilisateur: http://stackoverflow.com/a/31322169/3957754. – JRichardsz

+0

@JRichardsz Ok, créez un nouveau magasin de clés cacerts sur une machine différente et placez-le sur le serveur openshift. Configurez votre produit serveur (par exemple, serveur Web) pour utiliser le nouveau fichier de clés cacerts en tant que fichier de clés certifiées. Cela varie selon le produit, donc c'est la meilleure direction que je peux vous donner. Si vous ne pouvez pas SCP un fichier cacerts différent, ou modifier le fichier existant, je ne vois aucun moyen de le faire. \ – KyleM

+0

merci @KyleM. Je vais essayer!! Je vais vous dire le résultat. Cordialement. – JRichardsz

1

je suis tombé sur cette question et a trouvé une solution

Au début, je copiais le keystore par défaut et a ajouté un certificat personnalisé après:

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