和其他人一样,我在请求中遇到了 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 n\C3\A4gli d\C3\B6d\C3\BC\C3\A9, ST = z\C3\BCrich, 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 日。
我在哪里弄错了?玩得开心