Go - декодировать/кодировать asn.1

Кто-нибудь знает, где есть хороший пример использования функций asn1 Marshal и Unmarshal в Go?

Я знаком с концепцией того, как работает кодирование DER с ASN.1, но не имею опыта работы с этим непосредственно в коде (обычно я использую другую библиотеку с обертками - openldap или что-то еще).

Да, я просмотрел документацию (http://golang.org/pkg/encoding/asn1/), который, кажется, описывает систему тегов, очень похожую на то, что доступно для JSON и XML в Go; однако мне еще предстоит найти хороший практический пример этого для пакета encoding/asn1. (Хм, хорошо, я вижу пример сертификата на asn1_test.go — кто-нибудь знает что-нибудь еще?)

(В целом, я пытаюсь реализовать очень небольшое подмножество LDAP (на стороне сервера) в Go.)

ОБНОВЛЕНИЕ: мой вопрос ошибочен тем фактом, что LDAP использует BER, а не DER. Так что encoding/asn.1 не поможет. В любом случае, я сделал это: https://github.com/bradleypeabody/godap (который использует это для BER+ASN1: https://github.com/go-asn1-ber/asn1-ber )


person Brad Peabody    schedule 30.10.2014    source источник


Ответы (1)


https://web.archive.org/web/20160816005220/https://jan.newmarch.name/go/serialisation/chapter-serialisation.html

а также

https://ipfs.io/ipfs/QmfYeDhGH9bZzihBUDEQbCbTc5k5FZKURMUoUvfmc27BwL/dataserialisation/asn1.html

есть довольно много примеров с asn1.Marshal / asn1.Unmarshal

person dave    schedule 31.10.2014
comment
Ссылка работает. URL-адрес начинается с jan.... Однако примеров пока слишком мало... - person seedjyh; 17.07.2019