RSA密钥的生成与配置
openssl下载地址http://dldx.csdn.net/fd.php?i=20313208579480&s=ac2e809e168f7d5b8bf1515d3d6b1aa4,或者官方下载
通过openssl工具生成RSA的公钥和私钥(opnssl工具可在互联网中下载到)1)生成RSA私钥
打开bin文件夹下面的openssl.exe,打开生成命令.txt文件,输入“生成命令.txt”文件中
genrsa -out rsa_private_key.pem 1024,并回车
得到生成成功的结果,如下图:
此时,我们可以在bin文件夹中看到一个文件名为rsa_private_key.pem的文件,用记事本方式打开它,可以看到-----BEGIN RSA PRIVATE KEY-----开头,-----END RSA PRIVATE KEY-----结尾的没有换行的字符串,这个就是原始的私钥。
2)把RSA私钥转换成PKCS8格式
输入命令pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM –nocrypt,并回车
得到生成功的结果,这个结果就是PKCS8格式的私钥,如下图:
右键点击openssl窗口上边边缘,选择编辑→标记,选中要复制的文字(如上图),
此时继续右键点击openssl窗口上边边缘,选择编辑→复制,
把复制的内容粘土进一个新的记事本中,可随便命名,只要知道这个是PKCS8格式的私钥即可。
3)生成公钥
输入命令rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem,并回车,
得到生成成功的结果,如下图:
此时,我们可以在bin文件夹中看到一个文件名为rsa_public_key.pem的文件,用记事本方式打开它,可以看到-----BEGIN PUBLIC KEY-----开头,
-----END PUBLIC KEY-----结尾的没有换行的字符串,这个就是公钥。
把rsa公钥和私钥配置到接口中
1) 整理公钥和私钥的格式
a) Java与。Net开发语言
◆商户的私钥
1、必须保证只有一行文字,即,没有回车、换行、空格等
2、去掉“-----BEGIN RSA PRIVATE KEY-----”、“-----END RSA PRIVATE KEY-----”,只保存这两条文字之中的部分
◆商户的公钥
1、必须保证只有一行文字,即,没有回车、换行、空格等
2、去掉“-----BEGIN PUBLIC KEY-----”、“-----END PUBLIC KEY-----”,只保存这两条文字之中的部分
3、保存到一个临时的记事本中,再打开b.alipay.com,并用要绑定密钥的支付宝账号登录,找到“获取PID、KEY”的按钮
4、根据http://help.alipay.com/support/help_detail.htm?help_id=243726&sh=Y&tab=null&info_type=9里的步骤上传RSA公钥,即刚才保存在临时记事本中的那串字符串。
◆支付宝公钥
1、必须保证只有一行文字,即,没有回车、换行、空格等
2、去掉“-----BEGIN PUBLIC KEY-----”、“-----END PUBLIC KEY-----”,只保存这两条文字之中的部分
a) Php开发语言
◆商户的私钥
1、必须保证只有一行文字,即,没有回车、换行、空格等
2、不需要对刚生成的(原始的)私钥做pkcs8编码,即不需要使用到PKCS8格式的私钥
3、不需要去掉去掉“-----BEGIN PUBLIC KEY-----”、“-----END PUBLIC KEY-----”
简言之,只要维持刚生成出来的私钥的内容即可。
◆商户的公钥
1、必须保证只有一行文字,即,没有回车、换行、空格等
2、去掉“-----BEGIN PUBLIC KEY-----”、“-----END PUBLIC KEY-----”,只保存这两条文字之中的部分
3、保存到一个临时的记事本中,再打开b.alipay.com,并用要绑定密钥的支付宝账号登录,找到“获取PID、KEY”的按钮
4、根据http://help.alipay.com/support/help_detail.htm?help_id=243726&sh=Y&tab=null&info_type=9里的步骤上传RSA公钥,即刚才保存在临时记事本中的那串字符串。
◆支付宝公钥
1、必须保证只有一行文字,即,没有回车、换行、空格等
2、须保留“-----BEGIN PUBLIC KEY-----”、“-----END PUBLIC KEY-----”这两条文字。
简言之,支付宝公钥只需要维持原样即可。
2) 把公钥上传给支付宝
操作流程见:http://help.alipay.com/support/help_detail.htm?help_id=243726&sh=Y&tab=null&info_type=9
3) 从支付宝那获得支付宝公钥
此处公钥由技术支持提供,请找技术支持索要支付宝公钥文件。
4) 把私钥、支付宝公钥配置到支付宝接口中
a) Java与。Net开发语言
打开代码示例中config配置文件,分别在参数private_key、public_key中填写好商户的私钥、支付宝的公钥即可
b) Php开发语言
打开代码实例中的key文件夹,
方法一:
分别打开rsa_private_key.pem私钥文件、alipay_public_key.pem支付宝公钥文件,按照“()”注释内容填写并保存
方法二:
按照1)b)整理后的私钥文件和公钥文件重新命名为“rsa_private_key.pem”、“alipay_public_key.pem”,直接覆盖key文件夹中的这两个文件即可。
PHP的RSA配置常见问题:
●PHP开发语言的代码示例中openssl文件夹中的3个DLL文件用法
1、如果你的系统是windows系统,且system32文件目录下没有libeay32.dll、ssleay32.dll这两个文件
那么需要拷贝这两个文件到system32文件目录。
2、如果您的php安装目录下(php\ext)中没有php_openssl.dll
那么请把php_openssl.dll放在这个文件夹中
RSA密钥的生成与配置的更多相关文章
- RSA密钥生成与使用
RSA密钥生成与使用 openssl生成工具链接:http://pan.baidu.com/s/1c0v3UxE 密码:uv48 1. 打开openssl密钥生成软件打开 openssl 文件夹下的 ...
- java编程之:生成rsa密钥
通过openssl工具生成RSA的公钥和私钥(opnssl工具可在互联网中下载到,也可以点此下载无线接口包,里面包含此工具) 打开openssl文件夹下的bin文件夹,执行openssl.exe文件: ...
- [Linux] 在 Linux CLI 使用 ssh-keygen 生成 RSA 密钥
RSA 是一种公钥加密算法,在 1977 年由麻省理工学院的 Ron Rivest, Adi Shamir, Leonard Adleman 三人一起提出,因此该算法命名以三人姓氏首字母组合而成. S ...
- openssl-0.9.8k_WIN32(RSA密钥生成工具
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha openssl-0.9.8k_WIN32(RSA密钥生成工具
- 多密钥ssh-key生成与管理
由于 git 大文件用 http 方式难以传输,必须使用 ssh-key,而 ssh-key 又生成了好多个.最近在各种折腾 ssh,公钥私钥上花费了很多时间,现将一些问题总结如下.系统为 Mac/L ...
- C#和JAVA的RSA密钥、公钥转换
C#的秘钥跟JAVA的密钥区别 RSA对于程序本身是没有区别的,其格式都是相同的.对于不同的程序来说,存储使用的语法(包装的类)会有所不同. RSA语法和语法标准有很多,大的类型大概分为ASN.1 ...
- [原创]SSH密钥访问Git仓库配置
SSH密钥并非为了解决拉取git仓库代码时,需要频繁输入密码的问题. SSH是一种比较安全的协议,可以用来免去远程登录Linux等服务器时需要输入密码的繁琐过程. 命令: ssh user@serve ...
- Swift保存RSA密钥到Keychain
https://www.jianshu.com/p/c1e9bffc76f4 最近项目的需求用到RSA的加密解密,并且需要把公钥信息保存到Keychain里面,网上很多文章都是用Keychain保存账 ...
- RSA原理及生成步骤
摘自:http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html(可到原网址查看秘钥生成原理) RSA算法原理(一) 因为它是 ...
随机推荐
- JetBrains WebStorm 7.0 Build 131.202 Win/Mac/Liniux
JetBrains WebStorm 7.0 Build 131.202 (Win/Mac/Liniux) | 121.6/106/133 Mb WebStorm 7 — Everything you ...
- 【Python】python list 迭代删除
最好方式使用filter,代码示例: def _filter(self, item): ): return False return True #lambda e:e%!= data['items'] ...
- 【OpenStack】OpenStack系列15之OpenStack高可用详解
高可用 概念 级别 陈本 如何实现 分类 Openstack的HA 虚拟机的HA 虚拟机HA 比较 应用级别HA,Heat的HA模板 组件的HA 示意图 Mysql的HA 三种方式之一——主从同步 ...
- 《ASP.NET1200例》未能找到元数据文件解决办法
今天在做一个项目的时候,遇到这样的一个问题,我用的是三层结构的.未能找到元数据文件“D:\SYSTEM\桌面\MyExam\MyExam\MyExamBLL\bin\Debug\BLL.dl ...
- 【leetcode】Implement strStr()
Implement strStr() Implement strStr(). Returns the index of the first occurrence of needle in haysta ...
- mysql 源码下载列表
2013年11月16日 14:57:04 http://download.softagency.net/MySQL/Downloads/MySQL-5.5/ http://code.google.co ...
- 写了一个字符串的二维表: TSta
STA 单元 (用到 System.SysUtils.TStringHelper): --------------------------------------------------------- ...
- POJ 2429 GCD & LCM Inverse (Pollard rho整数分解+dfs枚举)
题意:给出a和b的gcd和lcm,让你求a和b.按升序输出a和b.若有多组满足条件的a和b,那么输出a+b最小的.思路:lcm=a*b/gcd lcm/gcd=a/gcd*b/gcd 可知a/gc ...
- UVALive 7267 Mysterious Antiques in Sackler Museum (判断长方形)
Sackler Museum of Art and Archaeology at Peking University is located on a beautiful site near the W ...
- Maximum sum(poj 2479)
题意:给一段数列,将这个数列分成两部分,使两部分的最大子段和的和最大,输出和 /* 看数据没想到是(O)n的算法,求出从前向后的最大子段和和从后向前的最大子段和, 然后枚举断点. 第一次提交不小心折在 ...