Version 0.99.4 - Signature verification properly handle compressed messages #224 Version 0.99.3 - Update build targets to match recent Xcode requirements. - Stop providing armv7 binaries. - Prevent crash when read armored message. #219 - `decrypt` return plaintext (eg. from signed data). Version 0.99.2 - Fix ECDH secret subkey binding signature generation. #195 Version 0.99.1 - Fix ED25119 signature calculation. #192 - Generate ECC keys. #190 - Support compression in siguature packet. #191 Version 0.99.0 - Elliptic-Curves support (RFC6637 https://datatracker.ietf.org/doc/html/rfc6637). #141 - Elliptic-curve Diffie–Hellman. - Elliptic Curve Digital Signature Algorithm. - Enabling encrypt-only algorithms to encrypt. #187 - Other fixes and improvements. Version 0.17.0 - macOS arm64 support - update dependencies - Swift Package Manager support - Available as XCFramework Version 0.16.0 - Fixes detection whether message can be encrypted with a key. #115 #158 Version 0.15.0 - Fixes key expiration dates (again). - Detect and reject malformed packets. Version 0.14.0 - Improve decryption memory usage. - Fixes key expiration dates. Version 0.13.0 - Fixes issue where expirationData value was missing for expired keys. Fixes #120. - Improves logging setup by respecting PGP_LOG_LEVEL setting. - Updates cryptography engine. Version 0.12.3 - No more NSException is returned. Check for error or or return status instead. - Use NS_NOESCAPE for Objective-C and Swift. Version 0.12.2 - Fixes multiple users keys certificates support. Fixes #113 Version 0.12.1 - By convention, the subkeys provide encryption services if flags doesn't specify otherwise. Version 0.12.0 - Adds Elgamal support. - Improves reading armored messages. - API: Exposes primaryUser for the key. Version 0.11.0 - Fixes signature verification bypass (CM-02-003) - Fixes dearmoring ignores unknown characters (CM-02-004) - Fixes armored header-footer bug (CM-02-005) - Fixes handling of unexpected packets (CM-02-007) - Fixes crash in `-[PGPKeyring importKey:fromPath:]` Version 0.10.0 - Adds Symmetrically Encrypted Data Packet support. Fixes #91 - Adds multikey signatures. - Adds Symmetric-Key Encrypted Session Key Packets support. - Adds TwoFish cipher support. - Adds ability to determine keys that a message has been encrypted. - Adds support for custom OpenPGP CFB mode used in Symmetrically Encrypted Data Packets. Fixes #99 - Improves decryption and signed messages validation. - Improves "gnu-dummy" GPG extension support. - Fixes partial length packets calculations. - Fixes reading armored messages without checksum. - Fixes password protected DSA keys support. #106 - API: Refactor and simplyfy public API of `ObjectivePGP` due to internal improvements. - API: PGPPartialKeyPublic -> PGPKeyTypePublic - API: PGPPartialKeySecret -> PGPKeyTypeSecret - API: Introduces PGPKeyring. Version 0.9.5 - Methods that get keys as parameter are now class methods, +[ObjectivePGP ...] - Adds decrypt:usingKeys:.... - Adds Blowfish cipher support. - Adds user image attribute support. - Improves verify calls to accept armored data. Version 0.9.4 - Fixes generation subkeys with passphrase. - Improves memory usage when reading messages. Version 0.9.3 - Fixes public key equality checks. - Ignores invalid/broken signature subpackets. Version 0.9.2 - Fixes nullability and undefined behaviours issues. - Fixes issue where subkey should be used to sign for some keys. - Fixes packets equality issues. - Improves gnu-dummy support. - Improves ZIP compression support. - Sets default key size for key generator to 3072 bits. - Improves error handling. Version 0.9.1 - Fixes subkeys generation. - Adds support for embedded signatures. - PGPArmor return String now. Version 0.9 - Fixes keys management (import/export issues). - Fixes instances equality. - Fixes partial packets with zero body length. - Improves objects copying (NSCopying for packets). - Reverts NSSet collections to NSArray. - Updates public API (cleanups). - Updates tests. - Updates documentations. Version 0.8 - Adds public and private keys generation feature with PGPKeyGenerator - Adds methods to import and remove key instance - Adds expirationDate property to a key instance - Improves subkeys handling - Exports keys data without reusing imported raw data. - Fixes edge cases of decryption data with password encrypted key - Fixes exporting private macros - Fixes packets equality checks - Fixes signature verifying flow, return on fail - Fixes parsing corrupted input data. Version 0.7 - Fixes TripleDSA decryption. - Fixes MPI memleak. - Fixes reading certificate sym. algs. - Improves DSA keys support. - Improves signature subpackets. - Apply OpenPGP errata #2270. Version 0.6.2 - Avoids assertion failing to decrypt packet when signing - Supports "critical bit" Version 0.6.1 - Adds PGPKey.keyID property - Adds Swift Playground with a sample Swift code - Builds dynamic frameworks for iOS and macOS - Builds ObjC and Swift modules Version 0.6 - Update public API - Update documentation - Use modern Objective-C - Annotate nullability - Improve PGPKey in the way that the single key consists of two partial keys. (#44) - Improve support for private and public key in the single file (#44, #49) - Calculate incremental S2K hash to reduce memory overhead (#49) - Support for gnu-dummy S2K (#53) - Fixes buffer overrun in RSA - Build Static Frameworks for iOS and macOS - Assume that by convention, the top-level key provides signature services - Drop external openssl dependency. Version 0.5 - Improve BZip2 compression - Fix exporting keys - Fix decryption for some RSA keys - minor improvements and fixes - Extend library with One-Pass encryption - Removed newline transformation in PGPLiteralPacket - Partial Packet Length Support - ZIP compression support - Signature Verification: find the correct key by the issuerKeyID - Harden Signature verification - Support integrity protected status Version 0.4.2 - Fix length header for some double-octet length Version 0.4.0 - ObjectivePGP goes Open Source Version 0.3.2 - CHANGE error handling for sign/verify methods - FIX disable check for signing key while it can be public to verify. Version 0.3.1 - NEW multiple keys for single encryption - NEW error codes PGPErrorPassphraseRequired, PGPErrorPassphraseInvalid - CHANGE export armored data with \n instead \r\n - FIX decrypt message using key encrypted with password - FIX handling armored data regarding newline Version 0.3 - NEW encrypt for multiple recipients at once - NEW decrypt with multiple recipients - NEW read key from file without importing to keyring - NEW import keys with or without duplicates - NEW Support for V3 of signature packets - NEW armv7s binary added - IMPROVED overall error handling - IMPROVED preferred key algorithm chooser - FIX handle DSA keys for encryption - FIX self certificate validation check - FIX export multiple keys to single file - FIX reading user id packet - FIX other minor fixes