JWSETKit

一个用于处理 JSON Web 签名 (JWS) 和 JSON Web 令牌 (JWT) 的库。

Swift CodeQL License Release version

Lines of Code Duplicated Lines

Quality Gate Status Technical Debt Maintainability Rating Coverage

概述

JSON Web 签名 (JWS) 使用基于 JSON 的 RFC7159 数据结构来表示通过数字签名或消息认证码 (MAC) 保护的内容。 JWS 加密机制为任意八位字节序列提供完整性保护。

JSON Web 令牌 (JWT) 是一种紧凑的声明表示格式,专为空间受限的环境而设计,例如 HTTP 授权标头和 URI 查询参数。

此模块可以序列化、反序列化、创建和验证 JWS/JWT 消息。

支持的 Swift 版本

该库引入时支持 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 密钥

支持的算法

签名/HMAC

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