Linux环境 编译安装GmSSL并生成证书

需要的依赖:gcc和perl5,自己安装即可,如果是内网离线安装,我传了依赖包,附上链接:https://wwub.lanzoue.com/iUHjY1a47qcb

1、编译安装GmSSL

    1.1、上传GmSSL安装包gmssl-master.tar.gz到部署的服务器上(上传位置不固定,建议/home目录,以下文档均以/home做演示说明)

    1.2、解压依赖安装包:tar -zxvf gmssl-master.tar.gz

    1.3、进入安装目录cd gmssl-master

    1.4、执行编译检查命令    ./config --prefix=/usr/local/gmssl --openssldir=/usr/local/gmssl no-shared

    1.5、执行编译命令    make     (注:这里编译需要几分钟)

    1.6、执行编译安装命令make install (注:如果最后报一个:install_man_docs错误,不用管,没有影响)

    1.7、配置gmssl环境变量  vi ~/.bashrc

            然后在文件的最后添加export PATH=$PATH:/usr/local/gmssl/bin

            然后保存退出后执行source ~/.bashrc

    1.8、国密SSL安装情况验证:执行查看gmssl版本命令:gmssl version -a    安装成功:如下图所示

    1.9、GmSSL在linux编译安装完成

2、生成国密SSL证书

    2.1、创建并进入demoCA目录

        2.1.1、mkdir demoCA

        2.1.2、cd demoCA

    2.2、创建certs、clr、newcerts、private等目录

        2.2.1、mkdir certs clr newcerts private

    2.3、创建index.txt和index.txt.attr文件

        2.3.1、touch index.txt

        2.3.2、touch index.txt.attr

    2.4、创建并写入serial文件

        2.4.1、echo ’01‘ > serial

     2.5、最终创建完成如下

    2.6、生成root根证书

        2.6.1、创建gmssl_cert文件夹

            2.6.1.1、cd /home/gmssl_cert/

        2.6.2、创建root证书的密钥文件

            2.6.2.1、gmssl ecparam -genkey -name sm2p256v1 -out Root.key

        2.6.3、创建root证书文件

            2.6.3.1、gmssl req -x509 -sm3 -days 36500-key Root.key -out RootCA.crt

            2.6.3.2、这个命令输入后,会让填一些信息,按照下面截图填,只填圈起来的三项,随便填,只需要注意和后面ca和user证书的common name不同即可,其余的直接回车不填

            2.6.3.3、查看是否成功,圈起来这两大小不为0即为成功

     2.7、生成ca证书

        2.7.1、生成ca证书的密钥文件

            2.7.1.1、gmssl ecparam -genkey -name sm2p256v1 -out ca.key

        2.7.2、生成ca证书的申请文件

            2.7.2.1、gmssl req -new -sm3 -extensions v3_req -key ca.key -out ca.csr

            2.7.2.2、输入这个命令后,会让填一些信息,按照下面截图填,只填圈起来的几项,除了common Name填得不能和root以及user的common name相同外随便填,其余的直接回车不填

            2.7.3、生成ca证书文件(注:这里会让输入两次y,在下方图中圈起来处)

                2.7.3.1、gmssl ca -md sm3 -extensions v3_ca -in ca.csr -out ca.crt -days 36500-cert RootCA.crt -keyfile Root.key

    2.8、使用ca证书颁发用户证书

        2.8.1、生成用户证书的密钥文件

            2.8.1.1、gmssl ecparam -genkey -name sm2p256v1 -text -out user.key

        2.8.2、生成用户证书的申请文件

            2.8.2.1、gmssl req -new -key user.key -out user.req

            2.8.2.2、输入这个命令后,会让填一些信息,按照下面截图填,只填圈起来的几项,除了common Name填得不能和root以及ca的common

 name相同外都随便填,其余的直接回车不填

        2.8.3、生成用户证书文件(注:这里会让输入两次y,在下方图中圈起来处)

            2.8.3.1、gmssl ca -md sm3  -in user.req -out user.crt -days 36500-cert ca.crt -keyfile ca.key

    2.9、用户证书转换为pfx格式

        2.9.1、gmssl pkcs12 -export -out user.pfx -inkey user.key -in user.crt

        2.9.2、命令执行后会让输入两次密码,输入上面设置的密码即可

    2.10、查看证书是否全部生成转换完成--只要圈起来的都不为0则代表全部生成成功

3、FAQ

    3.1、解压GmSSL源码报错: /bin/sh: gcc: command not found

        3.1.1、gcc依赖没装,自己安装或者下载文章头部链接的依赖去安装,手动下载依赖后,安装的命令:rpm -Uvh ./*.rpm --nodeps --force

    3.2、编译GmSSL源码报错: you need Perl 5,perl依赖没装,同3.1

    3.3、生成证书报错:ca: ./demoCA/newcerts is not a directory

        3.3.1、修改gmssl的配置文件,将CA_default下的dir由原本的`./demoCA`修改为`../demoCA`,就是将点斜杠改为了点点斜杠,然后保存退出即可。位置如下图

    3.4、按照步骤中途生成证书的时候失败了,可能是以前生成证书时产生的旧数据影响

        3.4.1、cd /home/demoCA/

        3.4.2、rm -f index.txt*

        3.4.3、touch index.txt

        3.4.4、touch index.txt.attr

        3.4.5、rm -f serial*

        3.4.6、echo '01' > serial

        3.4.7、rm -f ./newcerts/*

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,185评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,652评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,524评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,339评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,387评论 6 391
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,287评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,130评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,985评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,420评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,617评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,779评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,477评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,088评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,716评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,857评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,876评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,700评论 2 354

推荐阅读更多精彩内容