A Swift framework for implementing JOSE standards (JWS, JWE, JWK) to sign, encrypt, and represent cryptographic keys.
JOSESwift is a Swift framework that implements the JOSE standards (JWS, JWE, and JWK) for secure data interchange. It allows developers to digitally sign, encrypt, and represent cryptographic keys in iOS and macOS applications, solving the need for a native Swift solution to handle JSON-based security protocols.
iOS and macOS developers building applications that require secure data transmission, such as authentication systems, API clients, or any app needing cryptographic signing and encryption.
Developers choose JOSESwift for its native Swift implementation, modular design, and seamless integration with Apple's Security framework, offering a reliable and extensible alternative to third-party JOSE libraries.
A framework for the JOSE standards JWS, JWE, and JWK written in Swift.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Built entirely in Swift and leverages Apple's Security framework, providing a familiar and robust API for iOS/macOS developers without third-party dependencies.
Clean architecture allows adding custom algorithms and future JOSE standards, making it adaptable for evolving security needs as highlighted in the README.
Implements a wide range of JWS, JWE, and JWK algorithms—such as RS256, ES512, RSA-OAEP, and AES-GCM—detailed in the README tables for versatile use cases.
Supports installation via CocoaPods, Carthage, and Swift Package Manager, simplifying integration into existing iOS/macOS projects with versioning.
The README admits it's 'not fully complete yet,' with missing algorithms (e.g., A128GCMKW) and only compact serialization, limiting interoperability with some systems.
Known issues ignore key parameters like 'key_ops' and 'x5c' during decoding, which could affect security and compatibility, as noted in issue #117.
Missing features depend on user contributions via pull requests, which may delay critical updates for teams needing immediate, full standards support.