Swiftpack.co -  BinaryParadise/PracticeTLS as Swift Package
Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
BinaryParadise/PracticeTLS
TLS协议实践
.package(url: "https://github.com/BinaryParadise/PracticeTLS.git", from: "1.0.2")

PracticeTLS

很多事物我们都是知其然而不知其所以然,既然这样不如从头开始自己动手实现TLS协议不就什么都知道了。本文不讲理论只重实践

理论知识详见参考资料或自行谷歌,本文仅实现TLS 1.2协议

步骤

一、创建项目

mkdir PracticeTLS
cd PracticeTLS
swift package init

二、具体实现

  • ☑ 实现HTTP协议
  • ☑ 实现TLS握手
  • ☑ 测试协议

三、任务列表

  • ☐ 证书OCPS验证
  • ☐ 会话恢复

TLS握手过程

image

image

参考资料

SwiftTLS

图解 HTTPS:RSA 握手过程

SSL/TLS协议详解

从Chrome源码看HTTPS

AES-GCM 加密简介

TLS1.2 PreMasterSecret And MasterSecret

图解 ECDHE 密钥交换算法 TLS 1.3 Handshake Protocol ChaCha20-Poly1305 Cipher Suites for Transport Layer Security (TLS)

扩展

HTTP/2 简介 HTTP2 详解

GitHub

link
Stars: 4
Last commit: Yesterday

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jack’d and SCRUFF. We are two of the world’s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.

Submit a free job ad (while I'm testing this). The analytics numbers for this website are here.

Release Notes

Pre release
2 weeks ago

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics