3

和其他人一样,我在请求中遇到了 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 日。

我在哪里弄错了?玩得开心

4

1 回答 1

1

您可以尝试以下方法:

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

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

您可以在“名称选项”部分中找到有关“-nameopt”选项的更多详细信息:https ://www.openssl.org/docs/man1.0.2/man1/x509.html

其他相关链接:

于 2021-04-12T16:05:29.363 回答