您的位置:首页 > 运维架构

使用openssl生成ssl服务器请求证书解决中文乱码的问题

2018-03-14 15:59 1851 查看
使用openssl生成ssl服务器请求证书需要输入State or Province Name、Locality Name、OrganizationName等,有时候需要填写中文,签发证书的时候这些中文就变成了乱码,网上看了很多贴子解决这个问题,试了都不顺利,经过多次测试,现将解决方法汇总如下:
1、windows下使用openssl生成请求证书

安装openssl后,如果未添加系统环境变量,需要进入openssl安装目录/bin目录下,执行相关命令。

第一步 生成密钥
如在openssl/bin输入命令“openssl genrsa -out server.key 2048”


第二步 修改配置文件,/bin/openssl.cnf,修改项如下:
string_mask = utf8only
countryName_default                = CN
stateOrProvinceName_default    = 中文的省份名称
localityName_default                = 中文的城市名称
0.organizationName_default    = 组织、公司
organizationalUnitName_default    = 组织机构

commonName_default             = 张三的中文证书

第三步 转换配置文件格式
输入命令“iconv -f gbk -t utf-8 openssl.cnf > openssl_utf8.cnf”
备注:由于windows下无此命令,需要将改好的openssl.cnf文件拷贝至linux环境下,转换完成后将转换后的文件拷贝至window下。

第四步 生成请求证书
输入命令:“openssl req -utf8 -config moa_utf8.cnf -key server.key -new -out server.pem”
全部使用默认配置,回车直至结束。



2、Linux下使用openssl生成请求证书

第一步 生成密钥(同上)
输入命令“openssl genrsa -out server.key 2048”

第二步 生成请求证书
输入命令:“openssl req -new -key server.key -out server.pem -utf8”



至此,完成SSL服务器请求证书的生成,以上方法均经过测试。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐