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()

  • 相关阅读:
    SKAction类
    SpriteKit所有的类
    Reachability下载地址
    IOS学习教程
    SpriteKit游戏开发
    APP开发者到期续费说明
    Unique Paths
    Letter Combinations of a Phone Number
    Reverse Nodes in k-Group
    Remove Nth Node From End of List
  • 原文地址:https://www.cnblogs.com/personnel/p/9071596.html
Copyright © 2011-2022 走看看