I'm currently reviewing Xamarin as an option for developing a tablet app (right now aim for iOS and Android but in the future think of porting it to Win8 tablets)
Data to be stored is really sensitive so security is my main concern.
So far I'm thinking of two options:
a) SQLite + SQLCipher: Assuming that Win8 tablets will have SQLite support and that SQLCipher will also work on Win8.
b) Isolated Storage + DPAPI: Assuming that this DPAPI approach will work on Mono platforms and that it will still be available on Win8 tablets.
My concern here is that to securely store the key I guess I'll still need to have separated implementations for each platform (Data Protection on iOS and I'm still reviewing options for Android and Win8 tablets).
Is there any cross platform solution that will work to securely store the encryption key or another completely cross platform way to securely store data? If there is no completely cross platform solution then any recommended options to use on each platform?
In Xamarin Essentials, Secure Storage allows you to save sensitive data, like a password. We’ll look at the keychain and keystore of each specific platform. This time we will be learning about Secure Storage using one of the great APIs that Xamarin.Essentials brings to us.
It is a powerful solution to secure your Xamarin mobile app. A reliable company that offers Xamarin mobile app development services in Albania can help you secure your private details on the app. Meanwhile, you can go through the tutorial on implementing Secure Storage to save data such as passwords.
Write your data storage and business logic code once, and present native UIs on each platform. This document discusses a general architectural approach to achieve this goal. Here's a summary of the key points for creating Xamarin cross-platform apps: Use C# - Write your apps in C#.
Xamarin.Forms projects are supported on all platforms, and allow you create user interfaces that can be shared across platforms using Xamarin.Forms XAML. The amount of code reuse will depend largely on how much code is kept in the shared core and how much code is user-interface specific.
I have written a plugin for to address secure storage. It works cross platform and secures the data natively on each platform. It is open source.
Please check it out. https://www.nuget.org/packages/sameerIOTApps.Plugin.SecureStorage/
Blog: https://sameer.blog/2018/01/19/whats-new-in-secure-storage-2-0/
Let me know, should you have any questions.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With