免费自助站制作在线,网页设计案例分析ppt,常州企业网页制作,星月教你做网站回顾文档简介#xff1a;随着移动智能终端的广泛应用#xff0c;敏感信息极易被监控或盗取#xff0c;给国家、企事业及个人带来极大政治、经济损失。金融和重要领域的各个企业正在逐步落实并完成国产密码改造工作。为解决客户侧因更换加密算法造成的种种不便#xff0c;mPaaS 现已…简介随着移动智能终端的广泛应用敏感信息极易被监控或盗取给国家、企事业及个人带来极大政治、经济损失。金融和重要领域的各个企业正在逐步落实并完成国产密码改造工作。为解决客户侧因更换加密算法造成的种种不便mPaaS 现已支持移动网关服务兼容多种加密方式。本文将就如何生成 SM2 密钥以及完成 mPaaS 配置等问题展开详细的说明。 随着移动智能终端的广泛应用敏感信息极易被监控或盗取给国家、企事业及个人带来极大政治、经济损失。金融和重要领域的各个企业正在逐步落实并完成国产密码改造工作。 部分使用 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
STEP6 设置 openssl lib .so 加载配置
//此步骤可以忽略so加载配置与否不影响使用生成SM2
echo /usr/local/openssl/lib /etc/ld.so.conf
ldconfig -v
STEP7 生成SM2密钥
i. 进入生成密钥文件的目录执行以下命令生成私钥
/usr/local/openssl/bin/openssl ecparam -genkey -name SM2 -out SM2PrivateKey.pem
ii. 进入生成密钥文件的目录生成公钥
/usr/local/openssl/bin/openssl ec -in SM2PrivateKey.pem -pubout -out SM2PublicKey.pem 1.2. Windows下
同样 Windows 下也是需要一些途径才能生成 SM2 国密密钥。
OpenSSL 官网没有提供 Windows 版本的安装包可以选择其他开源平台提供的工具。下载地址Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions
STEP1 下载工具
选择 32 位或者 64 位合适的版本下载例如 Win64OpenSSL_Light-1_0_2h.exe。
STEP2 安装 Win64OpenSSL 软件
设置环境变量自行确定安装位置。
STEP3 打开 Win64OpenSSL 软件运行以下命令
ecparam -genkey -name SM2 -out priv.key
ec -in priv.key -pubout -out pub.key
配置 mPaaS 国密
1. 初次配置加密
1.1. 开发平台配置
STEP1 登录 mPaaS 控制台 - 移动网关 - 网关管理 - 数据加密 - 打开 STEP2 打开后会弹出选择加密方式和密钥的弹出选 SM2 并填写对应的私钥密钥。
1.2. 客户端配置
1.2.1. iOS端
iOS客户端的加密方式和公钥是配置在info.plist下的详情见图 其中
mPaaSCrypt加密配置的主 keyvalue 是 Dictionary 类型里面包含了客户端加密所需设置的相关信息。Crypt是否进行加密value 是 Boolean 类型YES 代表加密NO 代表不加密。GWWhiteList: 需要进行加密的网关即当前环境的网关地址。如果没有该 key 则所有的请求 都不会加密。RSA/ECC/SM2非对称加密算法选择value 是 String 类型只能填 RSA 或 ECC 或 SM2。PubKey非对称加密公钥。value 是 String 类型与选择的非对称加密算法保持一致。
注iOS端PubKey 的格式必须携带 -----BEGIN PUBLIC KEY----- 及 -----END PUBLIC KEY-----。不允许有空格、自行换行等格式不可错误。
1.2.2. Android端
Android 端的加密方式和公钥是配置在mpaas_netconfig.properties 文件下如图 其中
Crypt表示是否使用自加密true 表示使用false 表示关闭自加密功能。RSA/ECC/SM2表示要使用的非对称加密算法其值只能填充 RSA 或 ECC 或 SM2。PubKey表示选择的非对称加密算法的公钥。GWWhiteList: 需要进行加密的网关即当前环境的网关地址。如果没有该 key 则所有的请求都不会加密。
注由于 Android 中 properties 文件的 value 值需要在同一行因此填充公钥时需注意。
2.更换配置加密
2.1. 开发平台配置注MGS 版本需 1.34.10
STEP1 打开移动开发平台-移动网关-网关管理当前网关已经开启了数据加密这里示例是RSA STEP2 这时更换国密需要提前准备一对已生成的 SM2 公、私钥。参考密钥生成方法 - 移动开发平台 mPaaS - 阿里云
STEP3 在控制台-网关管理下先关闭数据加密再立刻开启数据加密这里会出现重新选择加密算法和填写对应密钥的弹窗如下图 注必须要先关闭再开启所以请务必先提前生成好对应的 SM2 公、私钥且保证正确性和正确格式。
STEP4 将 SM2 的私钥按正确格式填写到输入框内点击提交。之后就能在这里看到已经配置好的两种加密方式 介此网关更换密钥操作已完成。
2.2. 客户端配置
2.2.1. iOS端
STEP1 iOS 客户端的加密方式和公钥是配置在 info.plist 下的详情见图 STEP2 此时将已生成好的 SM2 公钥按正确格式替换上述 info.plist 里 PubKey 的 value加密算法更改为 SM2。 介此iOS 端加密方式和公钥也已更换完毕。
2.2.2. Android端
STEP1 Android 端的加密方式和公钥是配置在 mpaas_netconfig.properties 文件下的如图 STEP2 此时将已生成好的 SM2 公钥按正确格式替换上述 mpaas_netconfig.properties 里的对应 value更换后如下图 介此Android 端加密方式和公钥已更换完毕。
2.3. 小结
此时服务端和客户端均已更换加密方式完毕旧版 App 依然可以正常访问网关新版 App 也是可以正常访问网关的后续需要等待旧版App用户完全升级后修改掉网关旧的加密方式即可当然一直保留也可以的。
结语
从生成自己的国密 SM2到完整配置加密方式。客户端到 mPaaS 网关已满足各项政策对 App 数据加密方式的要求。
同时 mPaaS 团队也将在更完备支持全链路国密的道路上而努力前进。后续会发布更全面、更方便、更深层次的国密支持方案。
本文作者阿里云 mPaaS TAM 团队御雪 荣阳
原文链接 本文为阿里云原创内容未经允许不得转载。