阿里云首页 移动开发平台 mPaaS

数据加密

要进行数据加密,在服务端,您需要进行相关配置生成密钥;在客户端,根据不同的操作平台,完成相应的配置。

服务端配置

  1. 登录 mPaaS 控制台,在左侧导航栏,点击 移动网关 菜单。

  2. 选择 网关管理 选项卡,点击右侧的 功能开关 标签页。

  3. 数据加密 状态切换至

  4. 在弹出的 配置加密算法 窗口,完成以下配置:

    • 加密算法:支持 ECC、RSA 和国密(SM2)。

    • 密钥内容:

      • 当加密算法为 ECC 或 国密时,填写私钥内容。

      • 当加密算法为 RSA 时,分别填写公私钥内容。undefined

      有关加密算法的密钥生成方法,参见 密钥生成方法

客户端配置

Android 配置

assets 目录下新建 mpaas_netconfig.properties 文件,用于存放网络相关全局配置。

data_encrypt_android

其中,

  • Crypt:表示是否使用自加密,true 表示使用,false 表示关闭自加密功能。

  • RSA/ECC/SM2:表示要使用的非对称加密算法,其值只能填充 RSAECCSM2

  • PubKey:表示选择的非对称加密算法的公钥。

    说明

    由于 Android 中 properties 文件的 value 值需要在同一行,因此填充公钥时需注意使用换行符 \nPubkey 转为一行。

  • GWWhiteList:需要进行加密的网关,即当前环境的网关地址(在 mPaaS 控制台获取的配置文件中的 rpcGW 字段)。如果没有该 key,则所有的请求都不会加密。

iOS 配置

iOS 端加密配置是从 info.plist 里面读取,如下图所示:data_encrypt_ios

其中,

  • mPaaSCrypt:加密配置的主 key,value 是 Dictionary 类型,里面包含了客户端加密所需设置的相关信息。

  • Crypt:是否进行加密,value 是 Boolean 类型,YES 代表加密,NO 代表不加密。

    • Crypt 设置为 NO 时,RPC 不进行加密,RSA/ECC/SM2PubKey 的设置会忽略。

    • Crypt 设置为 YES 时,RSA/ECC/SM2PubKey 必须设置且不能为空字符,否则 Debug 时会中断言,程序直接退出。

  • GWWhiteList:需要进行加密的网关,即当前环境的网关地址(在 mPaaS 控制台获取的配置文件中的 rpcGW 字段)。如果没有该 key,则所有的请求都不会加密。

  • RSA/ECC/SM2:非对称加密算法选择,value 是 String 类型,只能填 RSAECCSM2RSA/ECC/SM2PubKey 的设置必须一一对应。

    • 选择 RSA 算法,PubKey 填 RSA 对应的公钥。

    • 选择 ECC 算法,PubKey 填 ECC 对应的公钥。

    • 选择 SM2 算法,PubKey 填 SM2 对应的公钥。

  • PubKey:非对称加密公钥。value 是 String 类型,与选择的非对称加密算法保持一致。

    PubKey 格式必须携带 -----BEGIN PUBLIC KEY----------END PUBLIC KEY-----,格式如下:

     -----BEGIN PUBLIC KEY-----
      MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0YTfXiICxPUaDHg7Wlxc
      bzN1UsGfDBHOyn4JYqZq8ySIBa+F9Uuyk0w+Ft/8sQE8MXSnJEqOAcUtG7Y0Js8L
      lDsDi0Dd+e9Zpq+WHp4+cM8GAujTy/hSHjuZPYbovtjTXp9iFo9Mxz3SbllvQ0d3
      VOpbks986gET/rchAlu9L+6oLf+HsiyYSAXQfYD4GI7sjtqYoRiSA6bWw1m+uFDc
      j1iHwW3HA11LsHDkQlLoNgXhvKoy+H7yM6t94ZhvXdgFK2yd5wq6FKIuZmgqiEg9
      A8S3/aUMKRIlVRvfkfcM+sBxiVgr80s6VTojfq/b2I3xKqnJ4KZMStpJHvsxWfw7
      2wIDAQAB
      -----END PUBLIC KEY-----