一个用于处理 JSON Web 签名 (JWS) 和 JSON Web 令牌 (JWT) 的库。
JSON Web 签名 (JWS) 使用基于 JSON 的 RFC7159 数据结构来表示通过数字签名或消息认证码 (MAC) 保护的内容。 JWS 加密机制为任意八位字节序列提供完整性保护。
JSON Web 令牌 (JWT) 是一种紧凑的声明表示格式,专为空间受限的环境而设计,例如 HTTP 授权标头和 URI 查询参数。
此模块可以序列化、反序列化、创建和验证 JWS/JWT 消息。
该库引入时支持 Swift 5.8 或更高版本。
要使用 JWSETKit,请将以下依赖项添加到你的 Package.swift 文件中
dependencies: [
.package(url: "https://github.com/amosavian/JWSETKit", .upToNextMinor(from: "0.19.0"))
]
请注意,此存储库尚未包含 1.0 标签,因此 API 尚不稳定。
然后你可以将特定的产品依赖项添加到你的目标中
dependencies: [
.product(name: "JWSETKit", package: "JWSETKit"),
]
有关详细用法和 API 文档,请查看文档。
JWSETKit | jwt-kit | JOSESwift | Auth0 的 JWTDecode | |
---|---|---|---|---|
JSON Web 签名 (JWS) | ✅ | ❌ | ✅ | ❌ |
JWS 多重签名 | ✅ | ❌ | ❌ | ❌ |
JWS 未编码/分离的有效载荷 | ✅ | ❌ | ❌ | ❌ |
JSON Web 令牌 (JWT) | ✅ | ✅ | ✅ | ✅ |
JWT 签名验证 | ✅ | ✅ | ✅ | ❌ |
JWT 过期/NotBefore 有效性 | ✅ | ✅ | ✅ | ❌ |
JSON Web 加密 (JWE) | ✅ | ❌ | ✅ | ❌ |
支持 CommonCrypto 密钥 | ✅ | ❌ | ❌ | ❌ |
支持 CryptoKit 密钥 | ✅ | ❌ | ❌ | ❌ |
JWSETKit | jwt-kit | JOSESwift | Auth0 的 JWTDecode | |
---|---|---|---|---|
HS256 | ✅ | ✅ | ✅ | ❌ |
HS384 | ✅ | ✅ | ✅ | ❌ |
HS512 | ✅ | ✅ | ✅ | ❌ |
RS256 | ✅ | ✅ | ✅ | ❌ |
RS384 | ✅ | ✅ | ✅ | ❌ |
RS512 | ✅ | ✅ | ✅ | ❌ |
ES256 | ✅ | ✅ | ✅ | ❌ |
ES384 | ✅ | ✅ | ✅ | ❌ |
ES512 | ✅ | ✅ | ✅ | ❌ |
PS256 | ✅ | ✅ | ✅ | ❌ |
PS384 | ✅ | ✅ | ✅ | ❌ |
PS512 | ✅ | ✅ | ✅ | ❌ |
PS512 | ✅ | ✅ | ✅ | ❌ |
EdDSA | ✅ | ✅ | ❌ | ❌ |
E256K | ❌ | ❌ | ❌ | ❌ |
JWSETKit | JOSESwift | |
---|---|---|
RSA1_5 | ✅ | ✅ |
RSA-OAEP | ✅ | ✅ |
RSA-OAEP-256 | ✅ | ✅ |
A128KW | ✅ | ✅ |
A192KW | ✅ | ✅ |
A256KW | ✅ | ✅ |
dir | ✅ | ✅ |
ECDH-ES | ✅ | ❌ |
ECDH-ES+A128KW | ✅ | ❌ |
ECDH-ES+A192KW | ✅ | ❌ |
ECDH-ES+A256KW | ✅ | ❌ |
A128GCMKW | ✅ | ❌ |
A192GCMKW | ✅ | ❌ |
A256GCMKW | ✅ | ❌ |
PBES2-HS256+A128KW | ✅ | ❌ |
PBES2-HS384+A192KW | ✅ | ❌ |
PBES2-HS512+A256KW | ✅ | ❌ |
JWSETKit | JOSESwift | |
---|---|---|
A128CBC-HS256 | ✅ | ✅ |
A192CBC-HS384 | ✅ | ✅ |
A256CBC-HS512 | ✅ | ✅ |
A128GCM | ✅ | ❌ |
A192GCM | ✅ | ❌ |
A256GCM | ✅ | ❌ |