Всю работу защиты трафика по протоколу HTTPS выполняет ассиметричное шифрование. Т.е. достаточно чтобы сервер посылал свой публичный ключ, с помощью него клиент зашифровывал ключ дальнейшей сессии и передавал серверу. Всё, траффик защищен от атаки man-in-the-middle, и не нужны никакие центры аттестации.
Какую тогда проблему решает вся эта дополнительная возня с сертификатами?
Нет. А как вы убедитесь, что публичный ключ принадлежит серверу, а не левому чуваку, сидящему на роутере между вами и сервером?
CA решают вопрос доверия.