Как установить целую цепочку с помощью пакета golang .x509? Скажем, мне нужен самозаверяющий сертификат ЦС и сертификат для сервера, выпущенного CA. Когда я используюИнфраструктура PKI
x509.CreateCertificate(rand.Reader, &issuer, &issuer, publicKeyIssuer, privateKeyIssuer)
затем
x509.CreateCertificate(rand.Reader, &subject, &issuer, publicKeySubject, privateKeyIssuer)
он не работает. Сертификат создается, и когда сервер отправляет его в браузер, браузер не видит путь от сервера до ca.
Если я использую OpenSSL и создать запрос на сертификат для сервера, а затем сертификат, то это все хорошо
openssl req -key server.key -new -out server.req -sha256
openssl x509 -req -in server.req -CA ca.crt -CAkey ca.key -out server.crt
Я знаю, что есть x509.CreateCertificateReuest, но я сейчас не как связать запрос с созданием сертификата ? Что я делаю неправильно или, возможно, сейчас не так много о x509.CreateCertificate?