Я относительно новичок в SSL, и после того, как я окончательно завершил реализацию кода SSL в Java, мне интересно узнать о потенциальном fl aws.
Мой код состоит из двух SSLSockets
(один из которых SSLServerSocket
на стороне сервера), и используется односторонняя аутентификация SSL. Сервер содержит хранилище ключей с сертификатом, подписанным ЦС, а у клиента есть хранилище доверия с тем же сертификатом, подписанным ЦС. Если я правильно понимаю, рукопожатие SSL, среди прочего, гарантирует, что сертификат однорангового узла является законным и соответствует сертификату в хранилище TrustStore клиента.
Имея это знание, возможно ли для кого-то декомпилировать мой клиентский код и извлечь сертификат, подписанный ЦС, из файла TrustStore с целью создания вредоносного сервера с хранилищем ключей, содержащим сертификат, подписанный ЦС? Если мой лог c верен, это допускает атаку «человек посередине».