- Migrated to minimum requirements of Swift 5.0 and Xcode 10.2.
- Made compatible with Swift 4.2 and Xcode 10
- Fixed a potential crash when building dictionaries with
CFStringvalues #107 - Fixed getting
SwiftyRSA.SwiftyRSAError.keyAddFailed(-50)error when the device is locked on iOS 8 / 9.
- Fixed compilation warnings for Xcode 9.1 / 9.2.
- Added support for Swift 4.1 and Xcode 9.3.
- Added ability to generate a RSA key pair by using
SwiftyRSA.generateRSAKeyPair. #106
- Added Swift 3.2 and 4.0 support.
- SwiftyRSAError is now exposed as an enum so that it can be introspected. #68
-
Breaking: SwiftyRSA ObjC was refactored under the hood to offer a better experience with both Swift and ObjC runtimes. To use SwiftyRSA with Objective-C use the following pod:
pod 'SwiftyRSA/ObjC'- Other methods of integration – like Carthage – are unaffected.
- In Swift,
ClearMessage.verifynow returns a boolean instead of aVerificationResult.
-
Fixed an issue that prevented private keys from loading if they contained an ASN1 header. #71
-
Fixed an issue that prevented public/private keys from loading if their integers were represented with an Octet String ASN1 node. #70
PublicKeyandPrivateKeynow expose their keychain reference and the data they were created with, in thereferenceandoriginalDatafields. #60PublicKeyandPrivateKeynow have a methoddata()which returns the key data as exported by the keychain. #60PublicKeyandPrivateKeynow can be exported to PEM via thepemString()method, or base64 via thebase64String()method. #60PublicKeyandPrivateKeynow can be created from aSecKeyreference. #48- Fixed a bug that would pass a wrong bit size to
SecKeyCreateWithDataon iOS 10+. https://github.com/TakeScoop/SwiftyRSA/issues/58
For its 1.0 version, SwiftyRSA is getting an architecture overhaul to ensure separation of concerns and code clarity. We're introducing the following classes:
PublicKey/PrivateKeyallow to extract a key from a PEM/DER/base64 string and now includes helpers likePublicKey(pemNamed: "public").ClearMessage/EncryptedMessagerepresents a clear or encrypted message to process through the RSA algorithm.Signaturerepresents a message's signature that can be verified with a public key.
We recommend to check out the new usage instructions to migrate code from 0.x versions of SwiftyRSA.
- Migrated source code to Swift 3.0
- Don't reduce maxmim blocksize when padding is
None#29
- Add support for SHA2 (224,256,384 & 512 bits) digest algorithms
verifySHA1SignatureData&signSHA1Digestare now deprecated; useverifySignature()andsignDigest()- Objective-C sign & verification functions now require a
digestMethod:parameter - Added support to read multiple keys from an input file using
publicKeysFromString(). #22 - Added WatchOS and tvOS support. #23
- Added digital signature creation & verification support. #7
- Added NSData encryption/decryption.
- Fixed a bug where SwiftyRSA couldn't encrypt/decrypt data which length was bigger than the RSA key block size. #6
- Added support for headerless RSA public keys, improved public key header parsing function. #2
- Added Objective-C support.
- Added instructions to create public/private keys using
ssh-keygen. - Fixed swift 3 compiler warnings. #4
- SwiftyRSA is now unit tested on each commit with Travis CI.
- Unit tests now run against the SwiftyRSA framework, and not the actual sources, which makes sure all required methods are public.
Initial release.