Le serveur TLS accepte la connexion du client, même cetificate client n'est pas présent dans le fichier de clés certifiées du serveur. Pourquoi?Le serveur TLS accepte la connexion du client même client cetificate n'est pas présent dans le fichier de clés certifiées des serveurs? Pourquoi?
Code Serveur:
tlsContext = SSLContext.getInstance(SSL_PROTOCOL);
tlsContext.init(getMyKeyManagers(),null,null);
SSLServerSocketFactory fact = tlsContext.getServerSocketFactory();
tlsServerSock = (SSLServerSocket)fact.createServerSocket();
tlsServerSock.setNeedClientAuth(true);
tlsServerSock.setWantClientAuth(true);
tlsServerSock.bind(objSocketAddress);
et commencer à écouter sur le code socket serveur
Code client:
SSLContext tlsContext = SSLContext.getInstance(SSL_PROTOCOL);
tlsContext.init(getMyKeyManagers(), getMyTrustManagers(), null);
SSLSocketFactory fact = tlsContext.getSocketFactory();
socket = fact.createSocket();
socket.connect(objSocketAddress);
code décrit, il n'y a pas TrustManagers ajouté au côté serveur toujours l'authentification du client est réussi. pourquoi est-ce?
Le certificat client est nécessaire uniquement dans le fichier de clés certifiées du serveur s'il est auto-signé. – EJP