国密https

guanzhi/GmSSL

是由北京大学自主开发的国产商用密码开源库,实现了对国密算法、标准和安全通信协议的全面功能覆盖,支持包括移动端在内的主流操作系统和处理器,支持密码钥匙、密码卡等典型国产密码硬件,提供功能丰富的命令行工具及多种编译语言编程接口。

GMSSL 国密实验室

是一个提供国密SSL相关软件/工具/服务的网站,网站简称国密SSL实验室 版本所有 2020 国密SSL实验室 保留全部权利 云钥网络提供技术支持 京ICP备17056405号-2

guanzhi/GmSSL

单独实现了 SM2, SM3, SM4 并不兼容 OpenSSL, 也不属于OpenSSL的扩展

一、 openssl国密版

  • 下载
    https://www.gmssl.cn/gmssl/index.jsp

  • 解压
    tar xzfm gmssl_openssl_1.1_b2024_x64_1.tar.gz -C /usr/local

二、 nginx国密版

  • 下载
    https://nginx.org/download/

  • 解压
    tar -xzvf nginx-1.24.0.tar.gz

  • 修改nginx中关于openssl的配置
    vim auto/lib/openssl/conf
    $OPENSSL/.openssl/—> $OPENSSL/

  • 编译安装

    ./configure \
    --prefix=/usr/local/nginx-1.24.0 \
    --without-http_gzip_module \
    --with-http_ssl_module \
    --with-http_stub_status_module \
    --with-http_v2_module \
    --with-stream \
    --with-file-aio \
    --with-openssl="/usr/local/gmssl"

    make && make install

三、 国密证书自签

(下面命令实际测试无效, 和gmssl版本有关, 已作废)

3.1 安装 gmssl 工具(二进制)

  • 下载
    https://github.com/guanzhi/GmSSL

  • 解压
    tar -xzvf GmSSL-3.1.1-Linux.tar.gz

  • 链接库 (源码编译安装的可以省略这一步)
    echo /usr/local/gmssl-3.1.1/lib > /etc/ld.so.conf.d/gmssl.conf
    ldconfig

  • 验证安装
    /usr/local/gmssl-3.1.1/bin/gmssl version

3.2 创建 CA

  • CA 私钥
    gmssl sm2keygen -pass 123456 -out ca.key

  • CA_CERT
    gmssl certgen -C CN -ST ZheJiang -L HangZhou -O PKU -OU CS -CN ROOTCA -days 365 -key ca.key -pass 123456 -out cacert.pem -key_usage keyCertSign -key_usage cRLSign

  • CA_CERT_parse

gmssl certparse -in cacert.pem

  • sign_key
    gmssl sm2keygen -pass 123456 -out sign.key

  • sign_req

gmssl reqgen -C CN -ST ZheJiang -L HangZhou -O PKU -OU CS -CN localhost -key sign.key -pass 123456 -out sign.req

  • sign_cert
    gmssl reqsign -in sign.req -days 365 -key_usage digitalSignature -cacert cacert.pem -key ca.key -pass 123456 -out sign.cert

三、测试

3.1 证书生成

免费证书生成

使用支持国密算法的浏览器, 这里用360浏览器测试

傻逼360, 360就是个傻逼

图