zoukankan      html  css  js  c++  java
  • 解决方案设计: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
  • 相关阅读:
    CXF JaxWsDynamicClientFactory 错误:编码GBK的不可映射字符
    关于springboot配置DataSource
    Spring Boot2.0加载多个数据源
    Kettle配置发送邮件
    推荐几个不错的VUE UI框架
    vue基础语法一
    Maven在Eclipse下构建多模块项目过程
    利用eclipse把jar包安装到本地仓库
    设计模式之策略模式
    设计模式之观察者模式
  • 原文地址:https://www.cnblogs.com/hofmann/p/12881891.html
Copyright © 2011-2022 走看看