开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
文档中心
网页&移动应用 
报关
产品介绍
集成接入指南
接入准备
接口列表
 >  > 2.配置密钥
收藏
我的文档
设置

历史接口(mapi网关产品)支持dsa、rsa、md5三种签名方式,请根据实际业务需求选择合适的签名方式。 如需配置开放平台密钥,请参见

步骤1:rsa公私钥生成

生成方式一(推荐):使用支付宝提供的一键生成工具(内附使用说明)

  • windows:

  • mac osx:

解压打开文件夹,直接运行“支付宝ras密钥生成器shawithrsa1024_v1.0.bat”(windows)或“shawithrsa1024_v1.0.command”(macosx),点击“生成rsa密钥”,会自动生成公私钥,然后点击“打开文件位置”,即可找到工具自动生成的密钥。 注意:工具不支持含中文或空格的路径,请下载到英文目录下使用。 生成方式二:也可以使用命令生成 首先进入openssl工具,再输入以下命令。

openssl> genrsa -out rsa_private_key.pem   1024  #生成私钥
openssl> pkcs8 -topk8 -inform pem -in rsa_private_key.pem -outform pem -nocrypt -out rsa_private_key_pkcs8.pem #java开发者需要将私钥转换成pkcs8格式
openssl> rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem #生成公钥
openssl> exit #退出openssl程序

经过以上步骤,开发者可以在当前文件夹中(openssl运行文件夹),看到rsa_private_key.pem(rsa私钥)、rsa_private_key_pkcs8.pem(pkcs8格式rsa私钥)和rsa_public_key.pem(对应rsa公钥)3个文件。开发者将私钥保留,将公钥提交给支付宝网关,用于验证签名。以下为私钥文件和公钥文件示例。 注意:对于使用java的开发者,将pkcs8在console中输出的私钥去除头尾、换行和空格,作为开发者私钥,对于.net和php的开发者来说,无需进行pkcs8命令行操作。 标准的私钥文件示例(php、.net使用)

-----begin rsa private key-----
miicxqibaakbgqcl0rfjll3nehlenmosytw8r0qxz5rvb2p/vvy3fjnnugvj7lo4fdbzln4mdxtz4mtohi5e2yeaqxv3nkpnmpzc5lmdjhhzurhwbqftipzd51mofno2c3mdwlrsvi6mtypbnu4uaqzw/topwufslwf7k6p2plovmmqjzqid0qidaqabaogaakb1risquv9d4zx7hcv9mtfwgyksfpjoyhkijwkaik7wrneeqfebisqv35fpjgq3q1ojpgkem4pxalveyzohonefz9mgvcht/mnh5b0fjywl392rzy8kcdq376vt4gkvlabvav1dkaplnlh7lmo/benudarsxd55igobmu19lkcqqdwhmzwpmhfc3kdy6aqilrossmviahqqzohhde0aw2gztwiweyk1wb/frxj5esk1sscowgzvcn/ogjlhu3kiphakeaysnosdg2owadxlit4w9kuiiiqngimhgmhpwp4jmxuphmtm7d9xtguiidijzxunhv3kvktnfwj3yji0661zhvjwjbam8tdf077f4nsvc9axvs8n0sq3xzqwqd/hpfzfq6hdr8tvy5yrmb4x7sx4edporkksgnycur5lk8mui7r072iucqqc8xqvunefcdpryrr4stjlqvucogwjtkmbyrbdygxkiltjoiorgudflrkp/hwjdoy4uqnl8gqjb/1ldrkwie7fakbl0tntfodgrdxbhwbgtn/t3pyisz7opjduklke7zmsbuld1e3o4jmzvwp9wee7jdbbrjgk4/cxxuhutkk592
-----end rsa private key-----

pkcs8处理后的私钥文件示例(java使用)

-----begin private key-----
miiceaibadanbgkqhkig9w0baqefaascamiwggjeageaaogban0yqpklxlnhm2h/57ahsyhahxazr9pfqun907tmvmbr04whchvskvgguf1hc0fn9hfeyt5v2sxg1wjsg2tsgk7f29spsf0i36oslciszxdu7clo7c22mxevucjmypjdqb6xweazzv4is661jxp4pdrcthrdvtu5zr9xubyilsvagmbaaecgyeahznorronhylm9okaygesqqgkydbxbnsos6busli6xaioveudbavirtcg9t854z2hagaisorukyztjootjfi1wjaquxlu3jih4jmnx/k5uzjijfvfpt7cv3uemtqyagbjrklvxjis7o5ylacgub0qz711bwgkrrvoospm3n6ecqqd8hvqugnhevhzytvfqfcoq2g/onpbsqyjdrru35a7pvgdazx69mr/xgggntgt3jjn72xmigkhm1fd1ob/3uadakea4d7ae3zgxg/pqqlm3vbe/4mvnl8xhjqokbyboy2zffwkhlrzilepssah16xej79wgy9itigulramravgrs2qjbaomkwyeawknnxiiof7/4vdgrcpkcsf3urb44ujfsn8klnwbupo6wvx1fqbdjqrviz4nfgipkqrjnfhzngjhvucqfzcaukmdv4plfeqjsmna8pfz2ukva8fvtuttryyeyupauax5ladjyqbc4riemu0q29crx3ba8wdyg7ypgrdtkcqqcgpju2fb17zlukrlkedtxnv6zqftmfc1tkhlsdttckws/xwkocfzkstuv3uc5j4bnjdkqogm38pdrpcuduh2/
-----end private key-----

公钥文件示例

-----begin public key-----
migfma0gcsqgsib3dqebaquaa4gnadcbiqkbgqdqwidvz7xyxa4cqszob3n7bfxldkegkjyqpt2futm4twx9oyrd523iw6uuqnqevfw88jgrnhyxadpvnpkp7unormyqafsm/cxzrfmovdtwsigtijb4pfyrxjakl8nia2hdqy5nlfgpvgzn4widfuy/qpkddcvxnz4bauaqjxqidaqab
-----end public key-----

步骤2:上传公钥&获取支付宝公钥

1、开发者登录开放平台,点击右上角的“账户中心”。

2、 选择“mapi网关产品密钥”。

3、点击“rsa(sha1)密钥”处的“设置开发者公钥”(如已设置则显示“查看开发者公钥”,可修改),将公钥文件去除头尾、换行和空格,仅需填入字符串。例如转换前公钥pem文件格式:

-----begin public key-----
migfma0gcsqgsib3dqebaquaa4gnadcbiqkbgqdqwidvz7xyxa4cqszob3n7bfxldkegkjyqpt2futm4twx9oyrd523iw6uuqnqevfw88jgrnhyxadpvnpkp7unormyqafsm/cxzrfmovdtwsigtijb4pfyrxjakl8nia2hdqy5nlfgpvgzn4widfuy/qpkddcvxnz4bauaqjxqidaqab
-----end public key-----

转换后得到的字符串为:

migfma0gcsqgsib3dqebaquaa4gnadcbiqkbgqdqwidvz7xyxa4cqszob3n7bfxldkegkjyqpt2futm4twx9oyrd523iw6uuqnqevfw88jgrnhyxadpvnpkp7unormyqafsm/cxzrfmovdtwsigtijb4pfyrxjakl8nia2hdqy5nlfgpvgzn4widfuy/qpkddcvxnz4bauaqjxqidaqab

4、点击“rsa(sha1)密钥”处的“查看支付宝公钥”,即可获取支付宝公钥,用于支付宝返回数据的验签。对于支付宝公钥,看到的是一个字符串,如下:

migfma0gcsqgsib3dqebaquaa4gnadcbiqkbgqddi6d306q8fifcoatxyiuejhkrivyisrcc73s3vf1zt7xn8rnpwjxo8pwajmmvytn9n4hq632qjbvhf8sxhi/fesraprwctzvzqetrnrwvxlo5jvmrgi60j8ue1efilzpxv9je9mkjzomdssymzkh2qhurcmzyi/fcea3/cnmw0qidaqab

如果需要使用文件方式(如使用服务端sdk的php/.net版本)读取支付宝公钥,需要在头尾加入标示后保存至文件,文件内容如下:

-----begin public key-----
migfma0gcsqgsib3dqebaquaa4gnadcbiqkbgqddi6d306q8fifcoatxyiuejhkrivyisrcc73s3vf1zt7xn8rnpwjxo8pwajmmvytn9n4hq632qjbvhf8sxhi/fesraprwctzvzqetrnrwvxlo5jvmrgi60j8ue1efilzpxv9je9mkjzomdssymzkh2qhurcmzyi/fcea3/cnmw0qidaqab
-----end public key-----
  1. 开发者登录开放平台,点击右上角的“账户中心”,选择“mapi网关产品密钥”。

  2. 点击“md5密钥”处的“查看”,通过手机校验后即可获取md5 key,用于请求数据的签名和支付宝返回数据的验签。

步骤1:dsa公私钥生成

进入,再输入以下命令。

openssl> dsaparam -out dsa_param.pem 1024   #生成参数文件
openssl> gendsa -out dsa_private_key.pem dsa_param.pem #生成私钥
openssl> pkcs8 -topk8 -inform pem -in dsa_private_key.pem -outform pem -nocrypt -out dsa_private_key_pkcs8.pem #java开发者需要将私钥转换成pkcs8格式
openssl> dsa -in dsa_private_key_pkcs8.pem -pubout -out dsa_public_key.pem #生成公钥
openssl> exit #退出openssl程序

经过以上步骤,开发者可以在当前文件夹中(openssl运行文件夹),看到dsa_private_key.pem(dsa私钥)、dsa_private_key_pkcs8.pem(pkcs8格式dsa私钥)、dsa_public_key.pem(对应dsa公钥)和dsa_param.pem(参数文件)4个文件。开发者将私钥保留,将公钥提交给支付宝网关,用于验证签名。 注意:对于使用java的开发者,将pkcs8在console中输出的私钥去除头尾、换行和空格,作为开发者私钥,对于.net和php的开发者来说,无需进行pkcs8命令行操作。

步骤2:上传公钥&获取支付宝公钥

  1. 开发者登录开放平台,点击右上角的“账户中心”,选择“mapi网关产品密钥”。

  2. 点击“dsa密钥”处的“设置开发者公钥”(如已设置则显示“查看开发者公钥”,可修改),将公钥文件去除头尾、换行和空格,仅需填入字符串。  

 

  1. 点击“dsa密钥”处的“查看支付宝公钥”,即可获取支付宝公钥,用于支付宝返回数据的验签。

内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图