- Notifications
You must be signed in to change notification settings - Fork9
A kit to create, sign and verify a JWT or JWS object
License
amosavian/JWSETKit
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A library for working with JSON Web Signature (JWS) and JSON Web Token (JWT).
JSON Web Signature (JWS) represents content secured with digitalsignatures or Message Authentication Codes (MACs) using JSON-basedRFC7159 data structures.The JWS cryptographic mechanisms provide integrity protection foran arbitrary sequence of octets.
JSON Web Token (JWT) is a compact claims representation formatintended for space constrained environments such as HTTPAuthorization headers and URI query parameters.
This module makes it possible to serialize, deserialize, create,and verify JWS/JWT messages.
This library was introduced with support for Swift 5.8 or later.
To use JWSETKit, add the following dependency to your Package.swift:
dependencies:[.package(url:"https://github.com/amosavian/JWSETKit",.upToNextMinor(from:"0.19.0"))]
Note that this repository does not have a 1.0 tag yet, so the API is not stable.
You can then add the specific product dependency to your target:
dependencies:[.product(name:"JWSETKit",package:"JWSETKit"),]
For detailed usage and API documentation, checkthe documentation.
JWSETKit | jwt-kit | JOSESwift | Auth0'sJWTDecode | |
---|---|---|---|---|
JSON Web Signature (JWS) | ✅ | ❌ | ✅ | ❌ |
JWS Multiple Signatures | ✅ | ❌ | ❌ | ❌ |
JWS Unencoded/Detached Payload | ✅ | ❌ | ❌ | ❌ |
JSON Web Token (JWT) | ✅ | ✅ | ✅ | ✅ |
JWT Signature Verification | ✅ | ✅ | ✅ | ❌ |
JWT Expire/NotBefore Validity | ✅ | ✅ | ✅ | ❌ |
JSON Web Encryption (JWE) | ✅ | ❌ | ✅ | ❌ |
SupportCommonCrypto Keys | ✅ | ❌ | ❌ | ❌ |
SupportCryptoKit Keys | ✅ | ❌ | ❌ | ❌ |
JWSETKit | jwt-kit | JOSESwift | Auth0'sJWTDecode | |
---|---|---|---|---|
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 | ✅ | ❌ |
About
A kit to create, sign and verify a JWT or JWS object