`

android 支付宝

阅读更多
公司项目接入支付宝历来就有但是一直客户端签名现如今他们要使用服务器签名。其它他们遇到了一些问题,我也了解了一些。现在记录一下,首先:
支付宝流程如下
1. 自己会生成一个RSA密钥(公钥,私钥)私钥用于订单签名(开发者使用客户端或者服务器都可能,取决于签名信息由哪端生成)。公钥需要通过后台上传到支付宝,支付定会用来验证订单的合法性。生成方式为:
a.生成密钥
openssl genrsa -out rsa_private_key.pem 1024
b. pkcs8对私钥加密
openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt -out private_key.pem
这没有测试,使用时还是按支付宝文档
c. 生成公钥
openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
这里要注意ruby php不支持pkcs8加密后的私钥,所以要用第一步生成的私钥。
2. 客户端生成订单信息,订单信息中会有一个sign参数用来传递签名信息。
3. 支付宝服务器通过后台上传的公钥验证订单 成功则继续完成支付流程

这里有个问题就是ruby php不支持pkcs8要使用未pkcs8之前的私钥,而项目组之前未保留未pkcs8的私钥,所以这里需要一个pkcs8到未pkcs8密码的转换。

转换方式如下:
未pkcs8到pkcs8
openssl pkcs8 -topk8 -in /Users/spring/no_pkcs8.pem -out /Users/spring/pkcs8_rsa_private_key.pem -nocrypt
pkcs8到未pkcs8
openssl pkcs8 -in /Users/spring/pkcs8_rsa_private_key.pem -out /Users/spring/no_pkcs8_rsa_private_key.pem -nocrypt
这个有测试。

这里的pem文件是这样的:
-----BEGIN RSA PRIVATE KEY-----
MIICdAIBADANBgkqhkiG9w0BAQEFAASCAl4wggJaAgEAAoGBANJuqLJ/MhUpDor0
dl3eX5Q7c/9UO/i1xS2D8wUCDSSp4VMlfJvnpRx3U/BHkhJlxSKROxBuIiQw7u0u
+/v3g5jMrxVC2lMuHGACgxcCEz+WODfpQ0jHipRb72Dk1S8t93jk1aYsELY5bT3N
+7OXfitHrya6q/T5hOEt/BoEcXYXAgMBAAECfxBwlL1dMox0qK4yawzqUo1CF83a
xtSnXsAvjszVXDGBFBlq1FFZx4xxxhz/emn1iXEp53NhJ0msiP3+rbEBpUYmbSWb
Xy91C+znQ3s90QQZJnT3lNIcFGLxW0P4E9v5P9ETB+PEdJPasoUqmSKtuT32G+Eg
CHfneulRln63JyECQQDw2iMJdOxAt3C+aTO0caGi0JXm3DdKixZ7d8dkFA0J0ilZ
oIWHW0z7si+YcubMmgQAnls/b1J1qVxSSifwc+xFAkEA36q+mSgPhAZv6BT2cDfr
161TtRz719+KY8G7vFzuSSf+mfWWbRdlRwMP9ATvpkuRtcYIfFtwHh3hCIEhZUxU
qwJAbJNpyBGVj3citDPowyeWnjc53GDZ7BjXgcF1eYAwgITlbyoWB/b4tV6WZjsm
IIYt17mLmQUuPyyiGdakOpmHoQJBAKzSkulmwe5ixu9N20nEe/Av1mE4XwRjjtwb
4wLdz6UpSRoPYEc076WaISaM9dvJwnHw7behM5WhwrK+jF5oR3cCQGbexS+rL9s8
k8xiQYomIU7EBuWALDmRP4EekMoBkQUbeaBRMNWV4T6Lt8QPdYshgpjDaTNC7Vmi
jjYaFa1Atqs=
-----END RSA PRIVATE KEY-----

注意
1.以-----BEGIN RSA PRIVATE KEY-----开始
2. 以-----END RSA PRIVATE KEY-----

结束最后有一空行。
3. 每行的文字数是固定的
这里因为文字不等宽所以看起来长度不同。
分享到:
评论

相关推荐

    Android支付宝授权,支付宝登录demo

    在Android应用开发中,集成支付宝...以上就是关于Android支付宝授权登录的基本步骤和关键知识点,希望对你有所帮助。在实际项目中,你可能还需要考虑错误处理、用户界面设计、多语言支持等问题,以提供更好的用户体验。

    Android支付宝支付demo

    本文将基于"Android支付宝支付demo"这一主题,详细介绍如何在Android应用中集成支付宝支付,并探讨相关的关键知识点。 首先,我们需要了解的是支付宝支付的基本流程。在Android应用中集成支付宝支付,通常包括以下...

    Android支付宝支付Demo源码

    本文将深入探讨“Android支付宝支付Demo源码”,解析其关键技术和实现流程,帮助开发者更好地理解和运用。 首先,我们需要理解的是,Android支付宝支付涉及到的主要组件是AlipaySDK。这个SDK提供了与支付宝服务器...

    android支付宝开发文档(包含两套)

    这份压缩包提供了两份重要的文档,帮助开发者理解并实现Android支付宝的安全支付服务以及手机网站支付功能。 首先,我们来看《安全支付服务Android应用开发指南》。这份文档详细介绍了如何在Android应用中集成...

    Android支付宝支付2.0demo

    以上就是关于"Android支付宝支付2.0demo"的详细介绍。在实际开发中,还需要注意遵循支付宝的安全规范,如加密敏感信息、避免内存泄漏等,确保应用的安全性和稳定性。通过深入理解和实践,你可以为用户提供一个顺畅的...

    android支付宝支付仅需一行代码

    "android支付宝支付仅需一行代码"这个标题暗示了一种高效、简洁的集成方式,让开发者可以快速实现支付宝的支付功能。这通常依赖于第三方库或者支付宝官方提供的SDK。 支付宝支付的过程大致分为以下几个步骤: 1. *...

    Android支付宝蚂蚁森林能量自动收取插件开发原理解析

    ### Android支付宝蚂蚁森林能量自动收取插件开发原理解析 #### 一、引言与背景 随着移动互联网的发展,各种应用程序不仅提供了便利的服务,还融入了许多趣味性元素,支付宝的“蚂蚁森林”便是其中的典型代表。用户...

    Android 支付宝支付demo

    在Android平台上实现支付宝...以上是实现Android支付宝支付的基本步骤和注意事项,每个环节都需要仔细处理,以保证支付功能的稳定性和安全性。在实际开发过程中,还需要根据项目需求和业务逻辑进行适当的调整和扩展。

    android支付宝支付

    "android支付宝支付"这个主题涉及了将支付宝的支付接口与Android应用整合的过程。在这个过程中,开发者需要掌握以下几个关键知识点: 1. **支付宝开放平台**:首先,你需要在支付宝开放平台上注册一个商户账号,并...

    Android支付宝支付工具类

    这个"Android支付宝支付工具类"就是为了解决这个问题,提供了一种方便、可复用的方式来实现支付宝支付流程。下面将详细介绍这个工具类以及相关的支付知识点。 1. **支付宝SDK集成**: 在Android应用中集成支付宝...

    Android-Android支付宝支付微信支付封装

    "Android-Android支付宝支付微信支付封装"这个项目就是针对Android平台,提供了一种简洁的解决方案,允许开发者快速集成支付宝(Alipay)和微信(WeChat Pay)支付功能。下面将详细介绍这个项目及其相关知识点。 ...

    android支付宝支付demo

    这个"android支付宝支付demo"提供了一个简洁的示例,帮助开发者快速理解和应用支付宝的支付接口。下面将详细介绍这个过程中的关键知识点。 首先,我们需要了解支付宝支付的基本流程。这通常包括以下几个步骤: 1. ...

    Android支付宝支付DEMO_3.0.2

    《Android支付宝支付DEMO_3.0.2详解》 在移动支付领域,支付宝作为国内主流的支付平台,其在Android应用开发中的集成是至关重要的。本文将详细讲解"Android支付宝支付DEMO_3.0.2"的相关知识点,帮助开发者理解和...

    Android 支付宝控件接口示例源码.zip

    在这个"Android支付宝控件接口示例源码"中,我们可能可以看到以下几个关键部分: 1. **初始化配置**:在应用启动时,需要对支付宝SDK进行初始化。这通常包括设置应用的AppID、商户ID、私钥等信息,这些信息会在支付...

    android支付宝支付接口demo

    本文将详细讲解如何使用“android支付宝支付接口demo”进行集成和调用,帮助开发者理解并掌握这一核心功能。 首先,我们需要了解支付宝开放平台提供的SDK,即Alipay SDK,它包含了实现支付功能所需的全部接口和类。...

    Android 支付宝和微信支付工具类demo

    "Android 支付宝和微信支付工具类demo"是一个专门为Android开发者设计的实用资源,它提供了便捷的接口来集成支付宝和微信这两种主流的移动支付方式。这个工具类的目的是简化支付流程,使得开发者无需深入了解支付...

    Android支付宝demo

    "Android支付宝demo"是一个专为开发者设计的示例项目,它展示了如何在安卓应用中集成支付宝接口,以便实现安全便捷的在线支付。这个demo提供了基本的代码框架和逻辑,但实际应用时需要根据自身应用的具体情况进行...

    Android支付宝手势密码

    在实现Android支付宝手势密码的过程中,涉及到以下几个关键知识点: 1. **图形解锁原理**:手势密码的基本原理是将9宫格中的每个点映射到一个坐标值,用户绘制的路径就是一系列坐标点的序列。当用户输入密码时,...

    Android支付宝支付Sample

    这个"Android支付宝支付Sample"是一个示例项目,旨在帮助开发者理解并实现与支付宝SDK的集成。在这个Sample中,开发者可以找到如何处理从发起支付请求到接收支付结果的完整流程。 首先,我们需要了解的是支付宝的...

Global site tag (gtag.js) - Google Analytics