本文档可作为[E证通获取实名信息指引](https://cloud.tencent.com/document/product/1007/63370)中`2. 制作 CSR 文件`的补充
一、安装国密 SSL
代码语言:javascript复制//老版本下载
# 下载 gmssl
wget https://github.com/guanzhi/GmSSL/archive/master.zip
# 解压
unzip master.zip
# cd 到GmSSL-master 目录下
cd GmSSL-master
//新版本下载流程(优先推荐)
# 下载源码包
wget https://github.com/guanzhi/GmSSL/archive/refs/heads/GmSSL-v2.zip
# 解压文件
unzip GmSSL-v2.zip
# 进入目录
cd GmSSL-GmSSL-v2
# 只编译静态库
# --prefix 指定 gmssl 的安装路径
# --openssldir 表示 OpenSSL 数据区域,例如openssl.cnf,证书和密钥.
如果是相对目录,它将被添加到--prefix给定的目录中。【可以不指定,默认在 --prefix 同级目录的 ssl 目录】
# no-shared 表示只编译静态库,不编译动态库
./config --prefix=/usr/local/gmssl no-shared
# 安装(如果有旧版本,可以使用 make uninstall 卸载,然后删除对应文件)
make
make install
# 添加环境变量
# 指定路径下的 bin 目录
echo 'export PATH="$PATH:/usr/local/gmssl/bin"' >> ~/.bash_profile
# 刷新
source ~/.bash_profile
# 查看是否安装成功
gmssl version -a
# 生成公私钥对
gmssl ecparam -genkey -name sm2p256v1 -out CAkey.pem
# 查看并保留私钥
gmssl pkey -in CAkey.pem -noout -text
注意:
请将已获取到的私钥妥善保存好,用于后续解密步骤使用。私钥如下图红框内所示(使用时请去掉中间的冒号):
创建证书请求
代码语言:javascript复制gmssl req -utf8 -new -sm3 -key CAkey.pem -out CAcsr.pem
信息填写规范和说明如下图所示:
查看证书请求
代码语言:javascript复制gmssl req -in CAcsr.pem -noout -text -subject
至此,证书请求制作完成,请将 CAcsr.pem 文件上传 [控制台](https://console.cloud.tencent.com/faceid/access?tab=eid),CAkey.pem(私钥)请自行妥善保管。
解密
由于还要上传 CSR 和 CA 认证等流程,我用的个人服务器,无法做模拟,故后续流程可参考文档:https://cloud.tencent.com/document/product/1007/63370 中
二、ERROR锦集
报错 :You need Perl 5
代码语言:javascript复制//下载
wget https://www.cpan.org/src/5.0/perl-5.28.0.tar.gz
或者 yum list perl查看可安装的perl包
通过yum install perl-xxx 安装
//解压
tar -xzf perl-5.28.0.tar.gz
cd perl-5.28.0
//运行配置文件
./Configure -des -Dprefix=$HOME/localperl
//编译
make
//编译测试
make test
//编译按照
make install