随着移动智能终端的广泛应用,敏感信息极易被监控或盗取,给国家、企事业及个人带来极大政治、经济损失。金融和重要领域的各个企业正在逐步落实并完成国产密码改造工作。
部分使用 mPaaS 框架的用户,因早期大多数都是在网关配置的 RSA 加密或者 ECC 加密,在政策要求下,都需要更改网关加密算法为国密。
为解决客户侧因更换加密算法造成的种种不便,mPaaS 现已支持移动网关服务兼容多种加密方式。
本文将就如何生成 SM2 密钥以及完成 mPaaS 配置等问题展开详细的说明。
生成 SM2 国密
1.1. Mac OS下
Mac OSX 一般自带的有 OpenSSL。但因为 OpenSSL“心脏病失血”事件,Mac OSX 自 10.11 El Capitan 起,将原有的 OpenSSL 替换为 LibreSSL。
在以上这些系统中应该除了实测必须要用 OpenSSL 软件外,应该都可以用 LibreSSL 取代 OpenSSL。而对于其他大多数还没有将系统自带的 OpenSSL 替换为 LibreSSL 的会麻烦一些,并且也可能做不到彻底替换。
只是对于编译安装的软件,可以尽量用 LibreSSL 取代 OpenSSL。(其他用 LibreSSL 取代 OpenSSL的系统还有:OpenBSD 自 5.6 起,Alpine Linux 自 3.5.0 起)
所以 Mac 下 OpenSSL 生成 SM2 密钥就需要自己安装 OpenSSL,网上有方式直接更改替换 Mac OS 自带的 LibreSSL,这里为了不影响 Mac 使用者的日常正常使用,不使用这种方式,而是在 Mac 上 download 一个 OpenSSL 版本安装、解压后单独使用,完全不会影响原有的 LibreSSL。
以 openssl 1.1.1d 实现为例:
STEP1 下载openssl源码
curl -o openssl-1.1.1d.tar.gz https://www.openssl.org/source/openssl-1.1.1d.tar.gz
STEP2 解压源码包
tar -xvf openssl-1.1.1d.tar.gz
STEP3 进入解压的 openssl 目录
cd openssl-1.1.1d
STEP4 配置生成 makefile
./config --prefix=/usr/local/openssl
STEP5 安装
//这里用了sudo 需要输入电脑密码,为了保证不会因为权限不足而安装报错
sudo make install