mirror of https://github.com/golang/go.git
asn1: allow '*' in PrintableString.
Although technically incorrect, we want this in order to parse X.509
certificates where a wildcard hostname ("*.example.com") has been put
into a PrintableString.
Fixes #850.
R=rsc
CC=golang-dev
https://golang.org/cl/1615043
This commit is contained in:
parent
fb279e7347
commit
5f0319c0a6
|
|
@ -324,7 +324,11 @@ func isPrintable(b byte) bool {
|
|||
b == ' ' ||
|
||||
b == ':' ||
|
||||
b == '=' ||
|
||||
b == '?'
|
||||
b == '?' ||
|
||||
// This is techincally not allowed in a PrintableString.
|
||||
// However, x509 certificates with wildcard strings don't
|
||||
// always use the correct string type so we permit it.
|
||||
b == '*'
|
||||
}
|
||||
|
||||
// IA5String
|
||||
|
|
|
|||
|
|
@ -75,6 +75,7 @@ var marshalTests = []marshalTest{
|
|||
marshalTest{"test", "130474657374"},
|
||||
marshalTest{ia5StringTest{"test"}, "3006160474657374"},
|
||||
marshalTest{printableStringTest{"test"}, "3006130474657374"},
|
||||
marshalTest{printableStringTest{"test*"}, "30071305746573742a"},
|
||||
marshalTest{rawContentsStruct{nil, 64}, "3003020140"},
|
||||
marshalTest{rawContentsStruct{[]byte{0x30, 3, 1, 2, 3}, 64}, "3003010203"},
|
||||
marshalTest{RawValue{Tag: 1, Class: 2, IsCompound: false, Bytes: []byte{1, 2, 3}}, "8103010203"},
|
||||
|
|
|
|||
Loading…
Reference in New Issue