技术支持

openSSL在生成CSR证书请求文件时,因为默认输入的字符是ANSI本地编码格式,超出了ASCII编码范围并且内容不是UTF-8编码,所以openSSL即使生成CSR证书请求文件成功后,得到的信息也是乱码,固我们需要使用以下方式支持中文。

openSSL在生成CSR证书请求文件时,因为默认输入的字符是ANSI本地编码格式,超出了ASCII编码范围并且内容不是UTF-8编码,所以openSSL即使生成CSR证书请求文件成功后,得到的信息也是乱码,固我们需要使用以下方式支持中文。

一、使用openSSL utf8编码生成CSR

使用Linux服务器操作时,需要服务器支持中文显示,否则以下操作会显示类似方块的字符。

openSSL指令中我们可以加入-utf8指令

sudo openssl req -utf8 -new -key test.key -out test.csr

继续后会提示输入以下信息,此时可以输入中文,不支持输入汉字的,请在别的地方将汉字复制到命令行中操作。

Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:上海市
Locality Name (eg, city) []:上海市
Organization Name (eg, company) [Internet Widgits Pty Ltd]:上海哲信信息技术有限公司
Organizational Unit Name (eg, section) []:数字证书部门
Common Name (e.g. server FQDN or YOUR name) []:infinisign.com
Email Address []:该邮件地址已受到反垃圾邮件插件保护。要显示它需要在浏览器中启用 JavaScript。

使用命令cat text.csr查看是否正常生成了

-----BEGIN CERTIFICATE REQUEST-----\n
MIIDBzCCAe8CAQAwgcExCzAJBgNVBAYTAkNOMRIwEAYDVQQIDAnkuIrmtbfluIIx\n
EjAQBgNVBAcMCeS4iua1t+W4gjEtMCsGA1UECgwk5LiK5rW35ZOy5L+h5L+h5oGv\n
5oqA5pyv5pyJ6ZmQ5YWs5Y+4MRswGQYDVQQLDBLmlbDlrZfor4Hkuabpg6jpl6gx\n
FzAVBgNVBAMMDmluZmluaXNpZ24uY29tMSUwIwYJKoZIhvcNAQkBFhZzdXBwb3J0\n
QGluZmluaXNpZ24uY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA\n
uU1PyL3PCCRm217BTYLyuudDFTaZnSQlwnxBIyWBTXL09FqbH/wuopKVD5tv2wb6\n
e8s4ngZe76NEPgcGjxZ0MQnYLv4WlaaZ8gSJPvUO3t4Nhrm0h3sJFzP5iVIWKLlg\n
I1kzSoSm9bGUhrU6V5ZBOQsFhPew07R7/YDst+RnWA+\n
.....\n
-----END CERTIFICATE REQUEST-----

二、使用在线生成CSR证书请求文件工具

使用在线工具只需要输入指定的信息,点击生成CSR即可完成CSR生成工具,在线工具默认支持utf-8编码中文CSR。

全文参考:生成CSR证书请求文件

三、检查生成的CSR是否正确、是否正常显示中文

1、使用在线工具检查(参考:解析CSR证书请求文件

使用本站工具:CSR解析工具,只要将制作好的CSR使用文本打开后,将其填入下图中的,点击“解析CSR证书请求文件”,即可得到制作的详细信息。tools check csr

2、通过openssl检查test.csr是否正确

openssl req -noout -text -in test.csr

结果显示信息如下

Subject: C=CN, ST=\xE4\xB8\x8A\xE6\xB5\xB7\xE5\xB8\x82, L=\xE4\xB8\x8A\xE6\xB5\xB7\xE5\xB8\x82, O=\xE4\xB8\x8A\xE6\xB5\xB7\xE5\x93\xB2\xE4\xBF\xA1\xE4\xBF\xA1\xE6\x81\xAF\xE6\x8A\x80\xE6\x9C\xAF\xE6\x9C\x89\xE9\x99\x90\xE5\x85\xAC\xE5\x8F\xB8, OU=\xE6\x95\xB0\xE5\xAD\x97\xE8\xAF\x81\xE4\xB9\xA6\xE9\x83\xA8\xE9\x97\xA8, CN=infinisign.com/emailAddress=该邮件地址已受到反垃圾邮件插件保护。要显示它需要在浏览器中启用 JavaScript。

我们注意到,类似\xE4\xB8\x8A\xE6\xB5\xB7\xE5\xB8\x82是十六进制编码的中文字符形式,

可以通过工具-十六进制与字符串互转工具,进行转换,得到ST的值表示“上海市”。

结束还是推荐使用本

立即使用工具

确认无误后将CSR证书请求文件发送至该邮件地址已受到反垃圾邮件插件保护。要显示它需要在浏览器中启用 JavaScript。即可申请到中文的SSL数字证书。

相关文章