J'écris une application qui utilise SSL. Par conséquent, j'ai un magasin de clés factice et un magasin de confiance factice que je veux fournir à mon client. Existe-t-il un dossier par défaut pour les mettre dans ma distribution? par exemple. docs, lib, bin ... etc. Où se trouve généralement le magasin de clés sur le serveur et où est-il généralement placé sur le client?
Merci
En Java, selon le Guide de référence JSSE , il n'y a pas de valeur par défaut pour le keystore
, la valeur par défaut pour le truststore
est " jssecacerts, s'il existe. Sinon, cacerts ".
Quelques applications utilisent ~/.keystore
comme fichier de clés par défaut, mais cela n'est pas sans problème (principalement parce que vous ne souhaiterez peut-être pas que toutes les applications exécutées par l'utilisateur utilisent ce magasin de clés de confiance).
Je suggère d'utiliser à la place des valeurs spécifiques à l'application que vous regroupez avec votre application, cela aurait tendance à être plus applicable en général.
Comme l'a dit bruno, vous feriez mieux de le configurer vous-même. Voici comment je le fais. Commencez par créer un fichier de propriétés (/etc/myapp/config.properties).
javax.net.ssl.keyStore = /etc/myapp/keyStore
javax.net.ssl.keyStorePassword = 123456
Chargez ensuite les propriétés dans votre environnement à partir de votre code. Cela rend votre application configurable.
FileInputStream propFile = new FileInputStream("/etc/myapp/config.properties");
Properties p = new Properties(System.getProperties());
p.load(propFile);
System.setProperties(p);