非对称加密算法 - RSA签名&验签授权

本文介绍了在OAuth 2.0授权方式不可用时,如何利用RSA非对称加密算法进行网页授权。宿主平台通过RSA私钥生成签名,用户请求服务时携带签名。平台端使用公钥进行验签,验签成功则允许用户登录或注册。详细步骤包括签名内容的构造、签名生成及验证过程。
摘要由CSDN通过智能技术生成

Jie 2017/12/27

适用背景:宿主平台未提供OAuth 2.0授权方式

宿主平台RSA生成秘钥(秘钥格式:PKCS8),并向你的平台提供公钥。

1) 用户(已登陆状态)请求宿主平台提供的你的平台服务时,宿主平台平台对用户信息用私钥生成签名

2) 宿主平台跳转到指定你的平台URL,参数包括用户信息和sign =签名

3) 你的平台平台验签:

若验签成功,你的平台平台根据宿主平台用户手机号作为宿主平台的用户唯一标识来静默登陆或注册;

否则,提示验签失败。

1.宿主平台对用户信息用私钥生成签名

1) 待签名内容为指定用户信息,包括

orderId=10086

amount=399.00

creditAmount=10000.0

mobile=18888888888

2) 将参数进行字典排序,组成字符串,得到待签名字符串

amount=399.00&creditAmount=10000.0&mobile=18888888888&orderId=10086

3) 签名方式SHA1withRSA,生成签名S

Q2RTZZkmquDCVAvsd7Yvf5AUVnaJErlLagMn1ciF1cTUfsJ9PMS7x9RfBCSlE5IFeTgWeyOSBQuV2lPUpXABJEd1DLZqidxCFOypPrlwmotQmLVCxZxHYKw5B958aIUNjM6_f_ZkiEfuu7lGPMjPgOxi90QXjYpqBPAxcbY3oas=

4) 将生成的签名S赋值给sign参数,将sign放到请求参数中,再将每个参数值进行urlencode

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值