in entryMaker/oneCRL/oneCRL.go [169:199]
func NamesDataMatches(name1 []byte, name2 []byte) bool {
// Go's asn.1 marshalling support does not maintain original encodings.
// Because if this, if the data are the same other than the encodings then
// although bytewise comparisons on the original data failed, we can assume
// that encoding differences will go away when we marshal back from
// pkix.RDNSequence back to actual asn.1 data.
// ensure our names decode to pkix.RDNSequences
rdns1 := new(pkix.RDNSequence)
_, errUnmarshal1 := asn1.Unmarshal(name1, rdns1)
if nil != errUnmarshal1 {
return false
}
rdns2 := new(pkix.RDNSequence)
_, errUnmarshal2 := asn1.Unmarshal(name2, rdns2)
if nil != errUnmarshal2 {
return false
}
marshalled1, marshall1err := asn1.Marshal(*rdns1)
if nil != marshall1err {
return false
}
marshalled2, marshall2err := asn1.Marshal(*rdns2)
if nil != marshall2err {
return false
}
return ByteArrayEquals(marshalled1, marshalled2)
}