How to communicate to EJBCA CMP (Certificate Management Protocol) using HTTP in Golang?

Solution 1:

Typically in other languages like C/C++, Java, C# you use a library that imlements a higher level API to do the CMP message creation, parsing, verification etc, for example Bouncy Castle or OpenSSL. In Go I don't know if there exists a good module library for this? You can always hand-roll the ASN.1 of course, as the base is still PKCS#10 certificate requests, but with a lot of wrapping for various purposes.