All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Ideas for 2.x
- Toggle base64 encoding (constructor level) in Asymmetric/Symmetric
- Removed Deprecated Features
- Make min 7.4
- Adjust Hybrid to toggle base64 instead of decode
- Remove the id field from KeyChain field, fingerprint is sufficient
- Changed SymmetricEncryption::generateKey to generate a key using base62
- Added Hybrid Encryption
- Added PrivateKey::bits
- Added PublicKey::bits
- Add check data length on encryption against key size limit
- Changed boundaries are no longer added by default in Asymmetric Encryption
### Changed
- Changed Keychain::create default key size to 4096
- Added Keychain::add
- Added KeyPair::generate
- Added PrivateKey object
- Added PublicKey object
- The AsymmetricEncrytion wrapper does not use OEP Padding, migrate to use the PrivateKey and PublicKey objects
- Added AsymmetricEncryption::generatePrivateKey
- Added AsymmetricEncryption::extractPublicKey
- Added KeyPair::toString
- Removed KeyPair export as this was confusing
- Changed KeyPair construct argument order - Breaking change if have used this class.
- Fixed Fingerprint which generated incorrect fingerprint if user passed either a private key or both a private and public key
- Renamed the KeyChain to Keychain
- Changed key pair export order so that the private key is first
- Renamed KeyPair::public to publicKey
- Renamed KeyPair::private to privateKey
- Added KeyChain