人脸核身制作 CSR 文件

本文档可作为[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

注意:

请将已获取到的私钥妥善保存好,用于后续解密步骤使用。私钥如下图红框内所示(使用时请去掉中间的冒号):

img

创建证书请求

代码语言:javascript
复制
gmssl req -utf8 -new -sm3 -key CAkey.pem -out CAcsr.pem

信息填写规范和说明如下图所示:

img

查看证书请求

代码语言:javascript
复制
gmssl req -in CAcsr.pem -noout -text -subject

至此,证书请求制作完成,请将 CAcsr.pem 文件上传 控制台,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