-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: encrypt stored sdk config #275
Conversation
Sample app builds 📱Below you will find the list of the latest versions of the sample apps. It's recommended to always download the latest builds of the sample apps to accurately test the pull request.
|
Codecov Report
@@ Coverage Diff @@
## main #275 +/- ##
=============================================
- Coverage 49.76% 20.20% -29.56%
+ Complexity 237 27 -210
=============================================
Files 108 19 -89
Lines 2781 480 -2301
Branches 364 99 -265
=============================================
- Hits 1384 97 -1287
+ Misses 1282 371 -911
+ Partials 115 12 -103 |
Build available to test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have a couple questions about this PR before merging. I'll reach out with my questions shortly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since it passes the manual test I am good with the change.
// Using alpha version as current stable version (1.0.0) has minSdkVersion 23 | ||
internal const val ANDROIDX_SECURITY_CRYPTO = "1.1.0-alpha06" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because 1.1-alpha releases support minSdk 21 while 1.0 supports minSdk 23, do we anticipate that 1.1 stable will move to minSdk 21?
I would like to avoid us having to bump our minSdk because of this dependency.
longer be present when backup is restored --> | ||
<exclude | ||
domain="sharedpref" | ||
path="io.customer.sdk.EncryptedConfigCache.xml" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note: No need to act on this yet, until my original questions are discussed.
Does this hard-coded string need to match this hard-coded string?
If so, I suggest using a string resource value to store this string in 1 place.
Closing this PR based on our discussion on Slack. We'll continue exploring improvements for this and revisit later. |
Background
Following the Slack discussion, we realized that we should encrypt the SDK config to prevent possible reverse engineering and unauthorized extraction of keys.
Changes
Testing
allowBackup
in the app and run the following command: