Android版本支付宝集成获取私钥与公钥

项目需要,需要在客户端集成支付宝接口。就研究了一下:因为使用支付宝接口,就需要到支付宝官网:注册帐号,并申请。下面讲的是申请好之后的操作。登录成功之后,   店家我的商家服务—在页面的下方找到——>签约管理—>找打 移动支付—–>点击下载集成文档—>跳到新的页面,在页面下方—>找到下载开发包,下载移动支付即可。然后解压出来之后一般会得到三个文件夹。

这个时候要打开文件名为:  支付宝钱包支付接口开发包2.0标准版的文件。打开之后有一个Demo 文件。打开Demo文件。里面会有三个文件夹:第一个 openssl; 第二个 服务端 Demo,第三个 客户端demo. 这个时候,我们需要关心的是  openssl 文件与 客户端Demo 的文件。

在第三个Demo文件中有IOS版与Android 版的Demo.但是你要部署运行的时候,会发现不能运行成功。在项目主文件里面这样一段代码:

//商户PID
 
public static final String PARTNER = "";
 
//商户收款账号
 
public static final String SELLER = "";
 
//商户私钥,pkcs8格式
 
public static final String RSA_PRIVATE = "";
 
//支付宝公钥
 
public static final String RSA_PUBLIC = "";

因为这些,都是需要根据商户注册的信息来填写的。所以就算下下载了Demo,也没有用。下面讲的就是如何获取私钥与支付宝公钥。

还记得刚刚我们加压之后的openssl文件嘛?获取私钥与公钥的方法就在里面:

首先打开openssl文件:以下是文件打开顺序: openssl–>bin –> 双击 openssl.exe文件。这个时候会出现一个命令框:(首先要说明的是这个文件是在Windows系统下打开的)要是苹果系统好像不行.接着继续往下说:

打开命令框后:输入第一行命令 ,生成私钥,如下:

genrsa -out rsa_private_key.pem 1024

按回车键,接着输入第二行命令,生成公钥:

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

按回车键,接着输入第三行命令,将RSA私钥转换成PKCS8格式

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

执行完这三行命令后,就生成了两个以:.pem 结尾的文件。这就是我们生成的公钥与私钥.文件位置就在: bin  目录下。当然我们打不开这两个文件。但是我们可以复制一份到桌面,改成Txt文件打开即可。因为我们需要的只是里面的字符串,记住当我们引用这两个长的字符串的时候,需要注意的是:字符串,不能包括,换行,空格,以及其他误加的字符。所以复制的时候一定要小心。

当然私钥就是我们需要的私钥了,如何获得支付宝公钥呢:回到支付宝首先,首先登录,

一:  点击“查看PID|KEY”,在新打开的页面(https://b.alipay.com/order/pidAndKey.htm ),可查看到签约支付宝账号、合作者身份ID(PID.

二:输入支付密码,查询key、支付宝公钥。

三:上传RSA公钥,在“合作伙伴密钥管理”下,点击“RSA加密”后的“添加密钥”,把自己的公钥复制进去。注意不能有空格,换

行之类的。

:点击确认上传,若是提示上传成功。则就是成功。

这个时候就可查看支付宝公钥了。如图:

至此,将对应的私钥与公钥填到相应位置我们的Demo  就可一运行了。然后集成到项目中即可。就需要自己动手了。遇到问题,百度一下。希望给你带来用处。

时间: 2024-08-25 16:41:20

Android版本支付宝集成获取私钥与公钥的相关文章

不同Android版本设备正确获取屏幕分辨率的通用方法

不同Android版本设备正确获取屏幕分辨率的通用方法         谈到android屏幕分辨率,大家都知道,但是怎么正确的获取屏幕的分辨率呢?android2.2\2.3\4.0\4.1使用的方法一样吗?       答案是否定的.事物是发展变化的,android也不例外,android2.2.2.3因为标配是有触摸屏按钮的,也就是说触摸屏上BACK.HOME.MEAN是在触摸屏分辨率识别范围之外的.但是在android4.0以后,已经取消了,开始使用软件按钮了,在屏幕的下方会占掉一定的高

大叔也说Xamarin~Android篇~支付宝SDK的集成

原文:大叔也说Xamarin~Android篇~支付宝SDK的集成 首先做为支付宝SDK它提供了多种平台,网页版,wap版,IOS版,android版等等,今天主要说一下在xamarin里使用android平台的sdk的方法,在网上介绍这块的文章不多,大叔本着贡献的精神继续撰写程序人生!希望各位继续支持大叔! 一 首先下面支付宝android的sdk,也就是手机端的sdk,一般也叫快捷支付 https://doc.open.alipay.com/doc2/detail?treeId=54&art

android eclipse 2.2版本ChatUIDemo集成红包报java.lang.NoClassDefFoundError: com.easemob.chat.EMChat(已解决)

问题描述 android eclipse下,sdk为2.2版本下,仅仅demo(ChatUIDemo)可编译运行.Android版本为6.0集成红包,编译可通过,运行报java.lang.NoClassDefFoundError: com.easemob.chat.EMChat. 解决方案 问题已解决.解决方式:使用Android studio来开发就行.环信团队在开发红包功能时是在Android studio环境下开发,是好的.估计因为时间紧,没有在eclipse下充分测试.虽然做出来了,但是

Android实现获取签名及公钥的方法_Android

本文实例讲述了Android实现获取签名及公钥的方法.分享给大家供大家参考.具体如下: 1. java代码如下:  private byte[] getSign(Context context) { PackageManager pm = context.getPackageManager(); List<PackageInfo> apps = pm .getInstalledPackages(PackageManager.GET_SIGNATURES); Iterator<Packag

Android实现获取签名及公钥的方法

本文实例讲述了Android实现获取签名及公钥的方法.分享给大家供大家参考.具体如下: 1. java代码如下: private byte[] getSign(Context context) { PackageManager pm = context.getPackageManager(); List<PackageInfo> apps = pm .getInstalledPackages(PackageManager.GET_SIGNATURES); Iterator<Package

Android项目持续集成实践之Gitlab CI(Docker版本)

接上一篇 Android项目持续集成实践之Gitlab CI. 在我看来,.gitlab-ci.yml 配置还是有些复杂,写的脚本还是有点多,有没有办法更精简一点呢? 有,那就是Android环境Docker化.(注:对Docker感兴趣的同学,请参考这本书<Docker -- 从入门到实践>). 我在这本书的指导下封装了一个包含Android开发环境的Docker镜像. 1. https://github.com/snowdream/docker-android 1. https://hub

Android接入支付宝实现支付功能

Android接入支付宝实现支付功能 我本来是想直接讲Android支付这一块的,包括支付宝,微信,其他第三方整合支付等,但是微信开放平台他对我的账号做了限制,所有我今天就先把重心放在支付宝的支付上,也算是写得尽可能详细些吧,毕竟是第三方的SDK,只要我们耐心的阅读文档和开发引导,这个其实不是很难的,我也是没有用过支付宝的支付,但是我相信,你看完这篇博客,也会对他了如指掌的,好的,我们正文开始 一.准备步骤 1.登录官网 他的官网就是蚂蚁金服的开放平台了,我们可以访问 蚂蚁金服开放平台 ,并且注

Android仿支付宝微信支付密码界面弹窗封装dialog

一,功能效果 二,实现过程 1,先写xml文件:dialog_keyboard.xml 注意事项 (1),密码部分用的是一个线性布局中6个TextView,并设置android:inputType="numberPassword",外框是用的一个有stroke属性的shape, (2),1-9数字是用的recycleview ,每个item的底部和右边有1dp的黑线,填充后形成分割线. (3),recycleview 要设置属性  android:overScrollMode=&quo

Android仿支付宝中余额宝的数字动画效果_Android

实现效果图: 下面是具体代码,可直接复制: package com.lcw.rabbit.widget; import android.animation.ObjectAnimator; import android.content.Context; import android.text.TextUtils; import android.util.AttributeSet; import android.view.animation.AccelerateDecelerateInterpola