A Swift cross-platform RSA wrapper library for public/private key encryption, signing, and verification.
BlueRSA is a Swift library that provides RSA public/private key encryption, signing, and verification capabilities. It solves the need for a cross-platform cryptography solution in Swift, abstracting the underlying Security framework on Apple platforms and OpenSSL on Linux. The library offers a unified API for handling keys, encrypting/decrypting data, and managing digital signatures.
Swift developers building applications on iOS, macOS, or Linux that require RSA-based encryption, secure data signing, or signature verification. It's particularly useful for projects needing cross-platform cryptographic operations without platform-specific code.
Developers choose BlueRSA for its pure Swift implementation, cross-platform compatibility, and type-safe API that simplifies complex RSA operations. It eliminates the need to write separate cryptographic code for Apple vs. Linux environments, providing a consistent interface backed by native security frameworks.
RSA public/private key encryption, private key signing and public key verification in Swift using the Swift Package Manager. Works on iOS, macOS, and Linux (work in progress).
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Seamlessly uses Security framework on Apple platforms and OpenSSL on Linux, providing a unified Swift API for RSA operations, as highlighted in the cross-platform support feature.
Supports creating public and private keys from various sources like Data, Base64 strings, PEM/DER files, and certificates, with seven factory methods each, as detailed in the Key Handling section.
Provides structured types such as PublicKey, PrivateKey, and EncryptedData, ensuring compile-time safety and reducing runtime errors in cryptographic operations.
Offers straightforward functions for encryption, decryption, signing, and verification with clear examples, like encrypting plaintext with a public key using .sha1 algorithm.
The README explicitly states Linux is 'still somewhat of a work in progress,' which may lead to bugs, incomplete features, or instability in non-Apple environments.
Focuses solely on RSA with supported padding like OAEP, so developers needing other cryptographic methods must integrate additional libraries, increasing complexity.
On Linux, it requires OpenSSL and libssl-dev, adding setup steps and potential version compatibility issues that aren't present in pure Swift solutions.