J'ai une application 3-tiers ecrite en Java completement. C'est un
serveur de fichier particulier (il y a un traitement qui est fait sur
les fichiers du serveur)
Les echanges sont simple:
client --> server --> backup
et
server --> client
La "-->" signifie: "envoie un fichier a"
Chaque connection utilise un Socket --> ServerSocket utilisant un layer
SSL. Le Socket est cree ainsi:
Quand je demarre le client, server et backup sur ma machine (WinXP), ca
marche nickel.
Maintenant, je mets le serveur et le backup sur un site distant (les
deux sur la meme machine), et il y a un soucis entre server --> backup.
Le site distant est un Mac OS X. Entre mon client et le serveur, ca se
passe bien. C'est des que le serveur envoie sur le backup
(localhost:port) qu'il y a une Exception:
Sur le server:
<Exception>
javax.net.ssl.SSLException
Connection has been shutdown: javax.net.ssl.SSLHandshakeException:
sun.security.validator.ValidatorException: No trusted certificate found
com.sun.net.ssl.internal.ssl.SSLSocketImpl.d(DashoA6275)
com.sun.net.ssl.internal.ssl.AppInputStream.read(DashoA6275)
net.rochefolle.cedcore.net.InputStreamUtility._readBytes(InputStreamUtility.java:39)
</Exception>
Sur le backup:
<Exception>
javax.net.ssl.SSLHandshakeException
Received fatal alert: certificate_unknown
com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.a(DashoA6275)
com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.b(DashoA6275)
com.sun.net.ssl.internal.ssl.SSLSocketImpl.b(DashoA6275)
com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA6275)
com.sun.net.ssl.internal.ssl.SSLSocketImpl.j(DashoA6275)
com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA6275)
com.sun.net.ssl.internal.ssl.AppInputStream.read(DashoA6275)
net.rochefolle.cedcore.net.InputStreamUtility._readBytes(InputStreamUtility.java:39)
</Exception>
Sur le server, j'utilise le meme fichier cree par l'outil "keytool" pour
communiquer entre le client et le backup. Sur Mac OS X, est-ce que ce
fichier serait bloque en lecture?
Le fichier certificat est dans mon fichier .jar.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
JScoobyCed
Apres des recherches et essais, j'ai vu qu'en fait MAC OS X est bien plus regardant au certificat SSL que Windows. Il faut que l' alias, le keystore et les passwords (keystorepassword et keypassword) soient different, sinon le "-Djavax.net.debug=ssl" n'indiquera pas que le certificat est "trusted" Si j'utilise des valeurs differentes pour les passwords, le debugger SSL indique que le certificat est "trusted".
-- JSC
Apres des recherches et essais, j'ai vu qu'en fait MAC OS X est bien
plus regardant au certificat SSL que Windows. Il faut que l' alias, le
keystore et les passwords (keystorepassword et keypassword) soient
different, sinon le "-Djavax.net.debug=ssl" n'indiquera pas que le
certificat est "trusted"
Si j'utilise des valeurs differentes pour les passwords, le debugger SSL
indique que le certificat est "trusted".
Apres des recherches et essais, j'ai vu qu'en fait MAC OS X est bien plus regardant au certificat SSL que Windows. Il faut que l' alias, le keystore et les passwords (keystorepassword et keypassword) soient different, sinon le "-Djavax.net.debug=ssl" n'indiquera pas que le certificat est "trusted" Si j'utilise des valeurs differentes pour les passwords, le debugger SSL indique que le certificat est "trusted".