Im codant une application de conversation client-serveur. Je veux crypter la connexion entre ces deux. Je fais ça pour ma première fois et je trouve cela difficile. Dans ma compréhension, j'ai besoin d'un truststore pour le client et un keystore pour le serveur. J'ai suivi ce guide pour les générer: http://peoplesofttutorial.com/generating-key-store-and-trust-store-using-keytool/JAVA, Problème avec la connexion SSLSocket
Client:
System.setProperty("javax.net.ssl.trustStore" , "hrms.truststore");
System.setProperty("javax.net.ssl.trustStorePassword" , "123456");
SSLSocketFactory sslsf = (SSLSocketFactory) SSLSocketFactory.getDefault();
SSLsocket = (SSLSocket) sslsf.createSocket(server, port);
Serveur:
System.setProperty("javax.net.ssl.keyStore" , "pskey.keystore");
System.setProperty("javax.net.ssl.keyStorePassword","123456");
SSLServerSocketFactory sslsocketfactory = (SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
sslserversocket = (SSLServerSocket) sslsocketfactory.createServerSocket(Port);
serveur démarre correctement. Lorsque je connecte un client qui est exécuté sur le même ordinateur que le serveur, je peux me connecter sans problème, mais lorsque je me connecte à partir d'un autre ordinateur qui se trouve sur le même réseau, j'obtiens cette erreur: javax.net.ssl.SSLException: Reçu alerte fatale: internal_error
Quelqu'un pourrait-il m'aider à résoudre cette erreur?
votre serveur a besoin d'un certificat connu connu de java qui s'étend des certificats racines. vous avez besoin d'un vrai certificat ou vous devez l'importer dans cacerts en utilisant keytools. vous pouvez également activer le débogage par la suite afin de voir les erreurs en cours. – benchpresser
votre extrait a travaillé ici (deux machines exécutant oracle java 8 u121 dans le même réseau). Veuillez décrire votre environnement, et cette journalisation peut vous aider: 'System.setProperty (" javax.net.debug "," ssl ");' – nandsito
@nandsito Mon environnement est le suivant: Les deux ordinateurs exécutent java 1.8.0_121, les deux ordinateurs sont connectés au même réseau, les deux exécutent Windows 10, l'ordinateur A exécute le serveur et un client, le client sur l'ordinateur A fonctionne correctement, l'ordinateur B exécute clinet et cet ordinateur obtient une erreur lors de la connexion. J'ajoute un lien vers copypaste: [link] https://codepaste.net/fmyekg – beli