INNER CODE UNIT · Go
marshalASN1Length
go-piv/piv-go · v2/piv/key.go:889
func marshalASN1Length(n uint64) []byte {
var l []byte
if n < 0x80 {
l = []byte{byte(n)}
} else if n < 0x100 {
l = []byte{0x81, byte(n)}
} else {
l = []byte{0x82, byte(n >> 8), byte(n)}
}
return l
}
// marshalASN1 encodes a tag, length and data.
//
// TODO: clean this up and maybe switch to cryptobyte?
func marshalASN1(tag byte, data []byte) []byte {
l := marshalASN1Length(uint64(len(data)))