Не совсем linux, но честно, не знаю куда еще податься. Прочитал кучу статей, наконец разобрался как работают технологии симметричных и ассиметричных ключей SSL, но так и не понял как именно (в математическом смысле) работает проверка валидности (читай подлинности) сертификата.
Допустим: Есть «клиент», желающий общаться с «сервером» в зашифрованном виде, клиент просит у сервера его публичный ключ, после чего его каким-то образом проверяет с имеющимся у него сертификатом (открытый ключ) доверительного центра сертификации (ЦС). А дальше история про Боба и Алису. Но как именно проверяется сертификат на его валидность и подписанность ЦС?
Конечно, есть контрольные суммы - это очевидно. Но подпись центра сертификации в сертификате сервера генерируется с использованием закрытого ключа того же ЦС от чего никто кроме самого ЦС не может фальсифицировать сертификаты, тогда как именно клиент поймёт, что этот сертификат действительно подписан ЦС и пренадлежит серверу, имея у себя только открытую часть ключа ЦС и то, что ему дал сервер. Помогите разобраться?
Я даже, вроде как, нашел формулу на википедии
http://bit.ly/1DXwL4u (Сертификат открытого ключа / Формальное описание)
Но в этой офигенной формуле один большой изъян: откуда блин взялась переменная Ss которой неожиданно владеет А2 ?!
Перемещено JB из general