码迷,mamicode.com
首页 > Windows程序 > 详细

APICloud集成支付宝--RSA秘钥生成详解

时间:2015-08-27 19:05:11      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:百度下载   windows   支付宝   程序   大学   

RSA 和 OpenSSL 介绍

    记得大学里有门课叫《电子支付与安全》,这里面就讲了双重秘钥加密,主要内容如下:

    RSA 是一种非对称的签名算法,即签名密钥(私钥)与验签密钥(公钥)是不一样的, 私钥用于签名,公钥用于验签。在与支付宝交易中,会有 2 对公私钥,即商户公私钥,支付宝公私钥。使用这种算法可以起到防止数据被篡改的功能,保证支付订单和支付结果不可抵赖(商户私钥只有商户知道)。

    OpenSSL 是基于众多的密码算法、公钥基础设施标准以及 SSL 协议安全开 发包。通过 OpenSSL 生成的签名和内置的算法可以做到跨平台,这样在不同的开发语言中均可以签名和验签。


Windows下OpenSSL安装与使用(本人电脑Window7 x64)

    刚开始以为openssl是Windows命令行自带的一个命令呢,结果很不幸--没有。百度了一下Windows下安装和配置openssl结果安装了很多无用的东西,结果只是为了编一个OPenssl。于是乎就百度下载了很多编译后的Openssl,试了很多次,还花了某币在某论坛上下载了。最终找到一份可以使用的Openssl程序。给大家推荐一个网站,可以去那里获取各种版本的Openssl。http://slproweb.com/products/Win32OpenSSL.html

也可以去附件中自己下载.exe形式的安装包。


将配置文件添加至环境变量(可选)

Openssl安装目录为C:\\alipay 。

有兴趣的童鞋可以将配置文件目录添加到环境变量。

第一步:新建OPENSSL_HOME变量

技术分享

第二步:新建配置文件环境变量

技术分享

还可以将安装文件bin目录直接添加到Path变量中,这样就不用每次执行命令还得进入bin目录。

制作公私秘钥

第一步:生成原始商户秘钥

在命令行下进入安装文件bin目录,执行"openssl genrsa -out rsa_private_key.pem 1024",效果如图所示:

技术分享

在bin目录下生成了私钥文件,进入bin目录查看如下:

技术分享

第二步:将商户私钥转换成pkcs8格式。

在命令行中执行如下命令:

"openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt"

效果如图所示:

技术分享

马赛克打的不专业请忽略。

复制key内容从注释-----BEGIN PRIVATE KEY-----(不包括该行注释)至-----END PRIVATE KEY-----止。将复制的内容另存为private_key.txt(去掉空格、换行),请妥善保管,签名时使用。


第三步:生成商户公钥。在命令行执行:

"openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem"

会在C:\\alipay\bin目录下生成rsa_public_key.pem文件。如图所示:

技术分享

用文本编辑器打开该文件,如下图所示:

技术分享

删除注释"-----BEGIN PUBLIC KEY-----"和"-----END PUBLIC KEY-----",去掉回车和换行。最后得到一 行字符串并保存至“public_key.txt”文件中。如下图所示:

技术分享最后上传商户公钥至支付宝用于验证商户私钥。






APICloud集成支付宝--RSA秘钥生成详解

标签:百度下载   windows   支付宝   程序   大学   

原文地址:http://lnpusong.blog.51cto.com/6595321/1688976

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!