Sous Linux , pour trouver l'emplacement de $JAVA_HOME
:
readlink -f /usr/bin/java | sed "s:bin/java::"
le cacerts
sont sous lib/security/cacerts
:
$(readlink -f /usr/bin/java | sed "s:bin/java::")lib/security/cacerts
Sous mac OS X , pour trouver $JAVA_HOME
exécuter:
/usr/libexec/java_home
le cacerts
sont sous Home/lib/security/cacerts
:
$(/usr/libexec/java_home)/lib/security/cacerts
MISE À JOUR (OS X avec JDK)
le code ci-dessus a été testé sur un ordinateur sans JDK installé. Avec JDK installé, comme l'a dit pR0Ps , c'est à
$(/usr/libexec/java_home)/jre/lib/security/cacerts
/usr/libexec/java_home
/usr/libexec/java_home
me donne une réponse différente de lareadlink
commande -based ci-dessus, et la première semble être correcte, en ce qu'elle contient lecacerts
fichier.Depuis OS X 10.10.1 (Yosemite), l'emplacement du
cacerts
fichier a été remplacé parla source
Si vous avez besoin d'accéder à ces certificats par programme, il est préférable de ne pas utiliser du tout le fichier, mais d'y accéder via le gestionnaire de confiance. Le code suivant provient d'un cas de test OpenJDK (qui vérifie que la collection cacerts construite n'est pas vide):
Vous n'avez donc pas à vous soucier de l'emplacement du fichier ou du mot de passe du keystore.
la source
Dans MacOS Mojave, l'emplacement est:
Si vous utilisez sdkman pour gérer les versions java, les cacerts sont dans
la source
~/.sdkman/candidates/java/current/lib/security
Dans High Sierra, les cacerts sont situés à:
/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/security/cacerts
la source
Vous pouvez également consulter readlink -f "
which java
". Cependant, cela peut ne pas fonctionner pour tous les wrappers binaires. Il est probablement préférable de démarrer réellement une classe Java.la source