В Go есть функция:
func (s *CertPool) AppendCertsFromPEM(pemCerts []byte) (ok bool)
, но нет способа сделать обратное.
Как мне преобразовать x509.CertPool в байты PEM?
Поле struct, содержащее []*Certificate, не экспортируется , и нет никаких функций, которые их выставляют. Скорее всего, защитить их от того, что вы хотите сделать. Таким образом, используя пакет «как есть», сделать это невозможно. Также не определено interface s, поэтому вы не сможете предоставить собственную реализацию CertPool с этой дополнительной функциональностью.
[]*Certificate
interface
CertPool