• 请不要在回答技术问题时复制粘贴 AI 生成的内容
iqoo
V2EX  ›  程序员

有没有不依赖 OpenSSL 的 HTTPS 请求学习代码

  •  
  •   iqoo · Jan 5, 2024 · 2538 views
    This topic created in 901 days ago, the information mentioned may be changed or developed.

    目前 HTTPS 请求案例基本都是基于 OpenSSL 或者其他 SSL 库封装的。

    有没有更简单明了适用于学习的代码,无需考虑兼容性、稳定性、证书失效等问题,只选择固定的一种密码学套件,跑通和服务端的请求/响应即可。能让了解密码学算法但不了解 TLS 的人容易理解,在相对简洁的代码能单步调试,理解通信过程。

    11 replies    2024-01-12 13:44:07 +08:00
    coyove
        1
    coyove  
       Jan 5, 2024
    你指理解 rfc8446 ?但这东西并不存在“简单理解”
    aecra
        2
    aecra  
       Jan 5, 2024 via Android
    照着协议自己实现一个(狗头)
    kneo
        3
    kneo  
       Jan 5, 2024 via Android
    1. 用 java 或者 go 写一个客户端或者服务器,然后慢慢用 IDE debug 。
    2. 用网络工具抓包。大概能看下怎么封装的。

    除此之外看文档吧。这东西要不然花大功夫钻研,要不然浅尝则止。对大多数人来说没必要浪费这么多时间。
    PTLin
        5
    PTLin  
       Jan 5, 2024
    一般语言都有不依赖 openssl 的 tls 库把,比如 rust 就可以使用 rustls 来实现 https 。
    https://github.com/tokio-rs/axum/tree/main/examples/tls-rustls
    ysc3839
        6
    ysc3839  
       Jan 5, 2024 via Android
    直接用 libcurl ?
    Nazz
        7
    Nazz  
       Jan 5, 2024 via Android
    看 golang 标准库
    tyzandhr
        8
    tyzandhr  
       Jan 5, 2024 via Android
    win32 ssl certification
    hxndg
        9
    hxndg  
       Jan 5, 2024
    @coyove 1.3 的 rfc 明显不是 lz 想要的,更别提 1.3 的通信流程和 1.2 还变了很多。。。
    @iqoo 你这个最好找个人带,问清楚
    不过说起来最简单的还是走 openssl 的 s_client 去模拟。。。。
    tool2d
        10
    tool2d  
       Jan 5, 2024   ❤️ 1
    游戏业喜欢造轮子,我看到几个嵌入式或可移植性高的 SSL 实现,都是游戏业贡献的。

    openssl 发展到今天,实在太复杂了,只是编译一下,光源文件就巨多,实在不算一个学习的好代码。
    pheyer
        11
    pheyer  
       Jan 12, 2024
    @0o0O0o0O0o 这个太强了,一直就是想找一个这样的东东
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   967 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 138ms · UTC 22:06 · PVG 06:06 · LAX 15:06 · JFK 18:06
    ♥ Do have faith in what you're doing.