Я пишу простой клиент и сервер на Go. Я не хочу платить за SSL-сертификат, и я читал, что самозаверяющие сертификаты бесполезны для подтверждения личности, поскольку злоумышленник может просто MITM и предоставить свой собственный самозаверяющий сертификат.
Однако я узнал, что мой клиент может использовать любые корневые сертификаты, которые я хочу. Могу ли я просто создать свой собственный, доверять этому клиенту, подписать сертификат для моего сервера и безопасно подключиться, будучи защищенным от атак MITM? Если да, как мне создать собственный корневой сертификат?