J'ai un problème avec la connexion SSL autorisée. J'ai créé une action Struts qui se connecte à un serveur externe avec un certificat SSL autorisé par le client. Dans mon action, j'essaie d'envoyer des données au serveur de la banque, mais sans succès, car j'ai comme résultat de la part du serveur l'erreur suivante :
error: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
Ma méthode de ma classe Action qui envoie des données au serveur
//Getting external IP from host
URL whatismyip = new URL("http://automation.whatismyip.com/n09230945.asp");
BufferedReader inIP = new BufferedReader(new InputStreamReader(whatismyip.openStream()));
String IPStr = inIP.readLine(); //IP as a String
Merchant merchant;
System.out.println("amount: " + amount + ", currency: " + currency + ", clientIp: " + IPStr + ", description: " + description);
try {
merchant = new Merchant(context.getRealPath("/") + "merchant.properties");
} catch (ConfigurationException e) {
Logger.getLogger(HomeAction.class.getName()).log(Level.INFO, "message", e);
System.err.println("error: " + e.getMessage());
return ERROR;
}
String result = merchant.sendTransData(amount, currency, IPStr, description);
System.out.println("result: " + result);
return SUCCESS;
Mon fichier merchant.properties :
bank.server.url=https://-servernameandport-/
https.cipher=-cipher-
keystore.file=-key-.jks
keystore.type=JKS
keystore.password=-password-
ecomm.server.version=2.0
encoding.source=UTF-8
encoding.native=UTF-8
Pour la première fois, j'ai pensé qu'il s'agissait d'un problème de certificat, j'ai converti le fichier .pfx en .jks, mais j'ai la même erreur, sans aucun changement.