Comments (3)
@iba-nongkhlaw Thanks for opening an issue.
I'm a bit torn on this matter.
One one hand, changing the minimum version will most likely not break anything. I don't believe Apple has modified the keychain features significantly between 8.0 and 8.2 in a way that SwiftyRSA would work on 8.3 but not 8.0.
On another hand, Apple recommends setting the minimum SDK version to the latest subversion of the version that you support. For instance, if you support iOS 8 and iOS 9, you should set the minimum SDK to iOS 8.4. See http://asciiwwdc.com/2016/sessions/213
In fact, the general idea is that you take the current shipping version, so 9.3, and then set your deployment target to one version back, maybe 8.4.
But don't go to 8.3 or 8.2 anymore because then you and your customers don't benefit from the improvements that we've implemented under the hood in that 8.4 release.
In addition to that, we've never tested for 8.0, 8.1, and 8.2. We'd have to update our travis file to handle that, create a new release, handle support if errors come up, etc. All that to support the probably rare case of users not upgrading to the latest minor version of their OS.
So I'm leaning towards not supporting 8.0-8.2 just from a support perspective. If you absolutely want to integrate with SwiftyRSA, you still have a couple options:
- Copy-paste the files directly in your project
- Setup some kind of pre/post install hooks (cocoapods has some, carthage might too?) that modifies the minimum version to 8.0 after downloading the SwiftyRSA project.
Another option is to have you own the "feature" in the sense that you could modify the minimum SDK, add the appropriate CI test, and ensure support if anything goes wrong. I would be totally ok with that, let me know if you wanna join the team :)
from swiftyrsa.
My 2c; I think that the situation is slightly different for a framework than an app in the context of the Apple presentation. An app developer needs to make a decision as to which version of iOS they will support; this could be based on features, their customer's devices etc. If a framework mandates a newer version then it is, to a degree, taking that decision for them. Of course they can modify the framework themselves or even choose not to use the framework; it is free after all.
Also, since Apple doesn't exclude devices on subversions of iOS, there isn't a device that can run 8.0 and that can't run 8.3.
The fact that testing may be difficult, 8.0 is really old (we are about to see iOS 10), there is no reason that people on 8.x shouldn't be on at least 8.3 and this project uses security features leads me to think that we should not change the minimum level
from swiftyrsa.
I agree with @paulw11, especially on his last point about security features/fixes between 8.0 and 8.3. Closing this issue. @iba-nongkhlaw You still can patch SwiftyRSA's sources in your project, though we won't officially support it.
from swiftyrsa.
Related Issues (20)
- SwiftyRSA.prependX509KeyHeader is internal HOT 1
- RSA/ECB/OAEPWithSHA1AndMGF1Padding at server side HOT 1
- How can I see the internal data?
- I can't use it on iOS 16 HOT 2
- Modulus value
- SecPadding is deprecated. Replaced with SecKeyAlgorithm HOT 1
- Add PSS padding and salt length parameters
- AAAAAAAAAAAAAAAAAAA = HOT 10
- How to use the private key for encryption and the public key for decryption
- KMM (Kotlin Multiplatform Mobile) Support
- Question: Is there a way to create a user-driven private key?
- Support for Swift Packages
- Apple export compliance HOT 2
- Many methods were deprecated in iOS 15.0, please update
- Document how to import headers
- Cannot build with SPM HOT 1
- Base64 Decoding Failed (asn1ParsingFailed)
- Extension crashed❗️It seems Apple is internally using this open source package since iOS 17❗️
- Need for Privacy Manifest file HOT 4
- App is Encoding Sensitive Information Using Outdated or In- secure Cryptography
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from swiftyrsa.