RSA公钥和私钥的生成(PHP\Android\iOS),数据传输的安全性
2017-11-03 13:47
751 查看
如下为加解密文件的生成. 使用过程详见后面的文章<数据传输的安全性>
这里说明一下,PHP为服务器端,Android和iOS为客户端
PHP需要的文件:
Android需要的文件:
iOS需要的文件:
这里说明一下,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
相关文章推荐
- Android 和 PHP 之间进行数据加密传输
- PHP通过OpenSSL生成证书、密钥并且加密解密数据,以及公钥,私钥和数字签名的理解
- 11.PHP生成XML数据,android解析XML案例简介
- 用SSH与PHP相连接,确保数据传输的安全性
- php接口 接受ios或android端图片; php接收NSData数据
- PHP后台2:客户端(IOS/Android)Post请求以及JSON数据编解码
- Android 和 PHP 之间进行数据加密传输
- 用.Net打造一个移动客户端(Android/IOS)的服务端框架NHM(二)——“请求”“交互”与传输数据(服务器端)
- 即时通讯 - Android、iOS、J2EE服务端的非对称加密传输数据
- iOS RSA公钥加密数据 服务端接受PHP私钥解密 反过服务端公钥加密数据 iOS端私钥解密数据
- Android开发界面跳转传输数据并生成二维码
- iOS RSA公钥加密数据 服务端接受PHP私钥解密 反过服务端公钥加密数据 iOS端私钥解密数据
- Android的,iOS的,PHP的,大数据的,Java的,web前端的,C++,Python等干货分享
- RSA之php私钥签名与android、ios公钥加密
- Android 和 PHP 之间进行数据加密传输
- 导致Android/IOS崩溃的null----PHP和Android/IOS数据交互
- php自定义方法:自动生成数据表格(支持分页)
- android网络操作---数据传输(基于HTTP协议)
- android--handler的不同线程的创建及数据传输