zoukankan      html  css  js  c++  java
  • HTTPS笔记:使用 SSLEngine 为 aioserver 服务器提供 SSL 访问支持

    现在 HTTPS 的普及率是越来越高,闲来无事,花了二三天时间,为五年前写的 aioserver 服务器提供了 SSL 访问支持。

    查看网上资料,为了提高服务器的高并发,建议使用:SSLEngine

    网上搜索了一些关于 SSLEngine 的使用资料,看了后就照葫芦画瓢,开工。

    其间一个问题困扰了我好几个小时,在进行SSL握手的时候:

    doUnwrap() 解包后, 有 2 种情况:

     1. 多数情况下: new HandshakeStatus: NEED_WRAP  ->  wrap() -> 完成 SSL 握手。

     2. 少数情况下: new HandshakeStatus: NOT_HANDSHAKING (已完成 SSL 握手)

     其中, 当 new HandshakeStatus: NOT_HANDSHAKING, 又有 2 种可能情况:

      1. netIn.remaining() > 0: 接收到的数据中包含了 HTTP Header 请求头

      2. netIn.remaining() = 0: 不包含 HTTP Header 请求头

    我们需要对关于SSL握手协议过程中出现的不同情况进行不同的处理。

    另外,我到现在还不清楚的地方:所有的请求共享一个 SSLEngine,还是根据每一个请求创建一个 SSLEngine: sslContext.createSSLEngine() ???

    目前我的代码中是根据每一个请求创建一个 SSLEngine: sslContext.createSSLEngine()

  • 相关阅读:
    jquery扩展
    [转][C#]加密解密类
    [转][C#]压缩解压
    [转][C#]程序的动态编译
    [转][C#]Linq 的扩展方法
    [转]Oracle left join right join
    [转]检测到有潜在危险的 Request.Form 值
    IIS 添加 MIME
    [转][Echarts]俄罗斯方块
    01-python爬虫之常见的加密方式
  • 原文地址:https://www.cnblogs.com/personnel/p/9071596.html
Copyright © 2011-2022 走看看