Golang生成X509证书时OID值为PRINTABLESTRING而非UTF8STRING的问题
关于Go生成X509证书时强制将CommonName设为UTF8STRING的问题
- 环境:
go version go1.18.4, darwin/arm64
我在创建X509证书时,使用asn1parse -in命令解析生成的PEM证书,发现通用名称(commonName)被编码为PRINTABLESTRING而非UTF8STRING,解析输出如下:
31:d=4 hl=2 l= 13 cons: SEQUENCE
33:d=5 hl=2 l= 3 prim: OBJECT :commonName
38:d=5 hl=2 l= 6 prim: PRINTABLESTRING :golang
我清楚Go中的字符串默认采用UTF-8编码,但生成的证书仍使用PRINTABLESTRING存储commonName。另外观察到,当commonName包含é这类非ASCII字符时,该值会自动以UTF8STRING格式存储。
请问是否有方法可以强制将OID对应的commonName值固定设置为UTF8STRING?
内容的提问来源于stack exchange,提问作者Atul Mundlik
相关产品推荐
相关产品推荐

