RSA公钥和私钥的生成(PHP\Android\iOS),数据传输的安全性

17 篇文章 0 订阅
11 篇文章 0 订阅

如下为加解密文件的生成. 使用过程详见后面的文章<数据传输的安全性>
这里说明一下,PHP为服务器端,Android和iOS为客户端
PHP需要的文件:

    rsa_private_key.pem     rsa解密、sha加签
    rsa_public_key.pem      rsa加密、sha验签

Android需要的文件:

    rsa_public_key.pem      rsa加密、sha验签
    pkcs8_private_key.pem   rsa解密、sha加签

iOS需要的文件:

    Ios     ==> rsacert.der             rsa加密、sha验签
    Ios     ==> p.p12                   rsa解密、sha加签
以下为生成这些文件的步骤:

一.安装
    Windows7 64位系统 , 点击安装 Win64OpenSSL-1_1_0d.exe
二.环境配置
    计算机->属性->高级系统设置->系统属性->高级->环境变量
    填写: 变量名=OPENSSL_CONF
          变量值=F:\RSA_tools\OpenSSL-Win64\bin\openssl.cfg
          F:\RSA_tools\ 是我安装目录,请填写你的安装目录 , 整个路径请不要有中文或其它特殊字符

三.运行工具
    进入安装目录下的bin , 执行 openssl.exe.RSA密钥生成命令
    1. php用
        生成RSA私钥  php解密使用rsa_private_key.pem文件
        openssl>genrsa -out rsa_private_key.pem 1024

    2. php和Android用
        生成RSA公钥 , Android 和 php使用加密使用文件 rsa_public_key.pem
        openssl>rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

    3. Android专用
        将RSA私钥转换成PKCS8格式 , Android使用 解密文件pkcs8_private_key.pem
        openssl>pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt -out pkcs8_private_key.pem

    4. ios专用
        由rsa_private_key.pem生成csr -> 生成crt -> 生成der -> 生成p12
        (1). 创建整数请求
            openssl>req -new -key rsa_private_key.pem -out rsacert.csr

        (2). 生成整数并签名,10年有效期 
            openssl>x509 -req -days 3650 -in rsacert.csr -signkey rsa_private_key.pem -out rsacert.crt

        (3). 转换格式-将 PEM 格式文件转换成 DER 格式  (公钥)
            openssl>x509 -outform der -in rsacert.crt -out rsacert.der

        (4). 导出P12文件 (私钥)
            openssl>pkcs12 -export -out p.p12 -inkey rsa_private_key.pem -in rsacert.crt 

    注意:“>”符号后面的才是需要输入的命令。

    5. 三端同时作战:
        php     ==> rsa_private_key.pem     解密
        php     ==> rsa_public_key.pem      加密

        Android ==> rsa_public_key.pem      加密
        Android ==> pkcs8_private_key.pem   解密 

        Ios     ==> rsacert.der             加密
        Ios     ==> p.p12                   解密

                                                                        2017/03/14
                                                                        xiaojun.lan
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值