fzlee / alipay

Python Alipay(支付宝) SDK with SHA1/SHA256 support
Other
1.29k stars 378 forks source link

支付宝公钥已经采用证书的形式,没有提供公钥这种形式,需要自己转换?请问有没有好的解放方案么?谢谢 #135

Closed jackwu882002 closed 3 years ago

jackwu882002 commented 3 years ago

Describe the problem 支付宝公钥已经采用证书的形式,没有提供公钥这种形式,需要自己转换?请问有没有好的解放方案么?谢谢

Alipay already use CRT, don't directly show public key of Alipay, please kindly any good solution, thank you very much.

Environment OS version: Python version: Alipay version:

To reproduce Code snippets:

alipay = Alipay(...)
alipay.do_something

Expected behavior A clear and concise description of what you expected to happen.

jackwu882002 commented 3 years ago

普通公钥与公钥证书区别 企业开发者若涉及 资金类支出接口 接入,必须使用 公钥证书 方式。 个人开发者不涉及到资金类接口,建议使用 公钥方式 进行加签。 在报文签名场景下,报文接受方使用发送方的公钥进行报文验签,该功能两种签名方式都可以实现。 公钥证书签名方式引入了 CA 机构对公钥持有者进行身份识别,保证该证书所属实体的真实性,以实现报文的抗抵赖。 公钥证书签名方式下,开放平台支持通过上传 CSR 文件的方式给开发者在线签发应用公钥证书,新的开放平台 RSA 验签和签名工具支持生成 CSR 文件。

发现 普通公钥 就会有 支付宝公钥,希望这样能解决。

fzlee commented 3 years ago

DCAlipay是不是可以解决你的问题?

jackwu882002 commented 3 years ago

什么接口推荐使用公钥证书签名

资金类接口必须使用公钥证书 ,其他产品可使用普通公钥签名或公钥证书签名。 资金类接口如现金红包、单笔转账到账户接口,调用时会进行校验。 注:文档描述的退款、查询接口是指现金红包、单笔转账到账户接口相关的辅助接口。 该产品通过公钥证书方式签名请求,其辅助接口如退款、查询等接口,也使用相同方式签名请求。

谢谢你的回答,我现在先用普通公钥的模式,以后有要发红包的功能,才去考虑用公钥证书的模式。 我刚才看了你提供的 DCAlipay ,感觉应该是可以的,我晚点做APP时候再考虑使用,感谢你的解答,非常有用。