Hej,
Zagłębiając się w działanie połączeń opartych o SSL nie rozumiem jednej rzeczy. Chodzi mianowicie o to, jak klient może zweryfikować tożsamość serwera na podstawie certyfikatu i uznać host za zaufany. Z tego co rozumiem to w przeglądarce mam wbudowane certyfikaty od CA. Serwer po nawiązaniu połączenia przesyła certyfikat z podpisem cyfrowym do wygenerowania którego potrzebny był klucz prywatny CA. Przeglądarka (klient) może na podstawie posiadanych certyfikatów i kluczy publicznych zweryfikować podpis wystawiony kluczem prywatnym od CA.
Tylko tu pojawia się problem. Taki certyfikat podpisany cyfrowo, który przesyła serwer tak naprawdę można przechwycić i posługiwać się kopią 1:1 takiego certyfikatu. Mógłbym np. zapisać sobie certyfikat jakiegoś podmiotu i umieścić go na swoim serwerze (tomcat/weblogic) i posługiwać się identycznym podpisem. Jak to dokładnie działa?