package asn1obj import ( "encoding/asn1" "math/bits" ) // BitString returns a BIT STRING of the content func BitString(content []byte) []byte { bs := asn1.BitString{ Bytes: content, } // drop trailing 0s by removing them from overall length if len(content) > 0 { trailing0s := bits.TrailingZeros8(content[len(content)-1]) bs.BitLength = 8*len(content) - trailing0s } // should never error asn1result, err := asn1.Marshal(bs) if err != nil { panic(err) } return asn1result }