openssl req utf8 strings



和其他人一样,我在请求中与UTF8作斗争。 当然,我浏览了所有决定性的问题和答案。 好吧,这是我的锻炼。 配置:

[ req ]
default_bits        = 2048
default_md          = sha256
string_mask         = utf8only
utf8                = yes
distinguished_name  = DistName
attributes          = Attr
[ DistName ]
commonName          = Name (your official name)
commonName_default  = hans nägli dödüé
stateOrProvinceName = State or Province Name (full name)
countryName         = Country Code (2 letter code)
countryName_default = CH
[ Attr ]
subjectAltName      = Name (international / latin)
subjectAltName_default  = hans nägeli dädü
postalCode          = zip code
localityName        = Locality Name (eg, city)
emailAddress        = Email Address

我验证了这个配置文件是 UTF8,然后使用默认值启动:

openssl req -verbose -config CsrPerson.cfg -new -key HansMuster-ecpem.key -passin pass:gugus -out HansMuster-pem.csr

然后,我使用

openssl req -utf8 -noout -text -in HansMuster-pem.csr

展示

Certificate Request:
Data:
Version: 1 (0x0)
Subject: CN = hans nC3A4gli dC3B6dC3BCC3A9, ST = zC3BCrich, C = CH
Subject Public Key Info:
...snip...
NIST CURVE: P-384
Attributes:
postalCode               :2222
localityName             :Dörrhausen
X509v3 Subject Alternative Name:hans nägeli dädü
emailAddress             :hans.naegeli@gmx.net
...snip...

使用相同的源,相同的配置,相同的过程:主题/可分辨名称未被视为UTF8,但即使使用键盘输入的位置名称,也可以很好地处理属性。

ASN1 主题的定义将可能的内容显示为 utf8 字符串。 openssl 版本 OpenSSL 1.1.0g 2017 年 11 月 2 日。

我哪里弄错了? 玩得愉快

您可以尝试以下操作:

openssl req -nameopt utf8 -noout -text -in HansMuster-pem.csr

这应该只解决显示问题,您必须检查是否仍然满足其他要求。

您可以在"名称选项">

部分找到有关"-nameopt"选项的更多详细信息:https://www.openssl.org/docs/man1.0.2/man1/x509.html

其他相关链接:

  • 如何在openssl中使用utf8主题创建CSR?

最新更新