有没有人知道在Go中如何使用asn1 Marshal和Unmarshal函数的好例子?
我熟悉如何使用ASN.1进行DER编码的概念,但是没有直接在代码中处理它的经验(通常我会使用另一个包装它的库 - openldap或者其他)。
是的,我查看了文档(http://golang.org/pkg/encoding/asn1/),它似乎描述了一个标记系统,就像Go中可用于JSON和XML的标记系统一样;但是我还没有为encoding / asn1包找到一个很好的实例。 (嗯,好吧,我在asn1_test.go中看到了证书示例 - 有人知道其他什么吗?)
(总的来说,我试图在Go中实现一小部分LDAP(服务器端)。)
更新:我的问题是因为LDAP使用BER而不是DER。所以编码/ asn.1并没有帮助。在任何情况下,我最终都这样做:https://github.com/bradleypeabody/godap(将其用于BER + ASN1:https://github.com/go-asn1-ber/asn1-ber)
答案 0 :(得分:3)
https://web.archive.org/web/20160816005220/https://jan.newmarch.name/go/serialisation/chapter-serialisation.html
有一些asn1.Marshal
/ asn1.Unmarshal