当你的才华不能撑起你的野心时,就是你该选择学习的时候了!

解决方案设计:WebApi增加身份验证

 

请求流程

  客户端-->发起请求-->请求加密-->

  服务端-->接收到请求参数-->解密-->处理请求-->处理结果加密-->

  客户端-->接收到处理结果-->解密

  结束-->

服务端

  1、设计机构或应用表,机构表包含字段账户/密码。

  2、生成机构客户端公私钥

  3、生成服务端公钥证书,通过SDK工具makecert创建一个测试证书,例如:makecert -r -pe -n "CN=WCFCert" -ss My -sky exchange 创建成功之后,我们可以在证书管理器中看到我们的证书。

  4、业务处理服务

  5、响应推送

  6、接口文档编写

  7、代码示例

客户端

  请求消息头信息

    1、设置Content-Type 资源内容的类型, 如:application/json;charset=UTF-8

    2、请求头部加鉴权信息Authentication,内容为使用base64编码的Basic username:password,如:Authorization: Basic dXNlcm5hbWUlM0FwYXNzd29yZA==

  请求消息体

    1、AES 密钥secretKey,内容等于RSA 公钥加密后的结果。

    2、业务参数content,内容等于业务参数经过AES 加密,并采用BASE64编码后的结果。AES 采用的算法是AES/ECB/PKCS5Padding。

      1、明文对象序列化为JSON后,AES 加密,BASE64编码

    3、版本version

    

客户端代码示例:

View Code

 

工具类JsonHelper.cs

View Code

 

工具类RSAUtil.cs

View Code

 

工具类SHAUtil.cs

View Code

 

工具类TripleDESUtil.cs

View Code

 

posted @ 2020-05-13 13:41  hofmann  阅读(218)  评论(0编辑  收藏  举报