https://github.com/geeklearningio/gl-ionic-secure-file-storage
A service using two encryption plugins to encrypt data on iOS and Android
https://github.com/geeklearningio/gl-ionic-secure-file-storage
cordova cryptography ionic security storage
Last synced: about 1 year ago
JSON representation
A service using two encryption plugins to encrypt data on iOS and Android
- Host: GitHub
- URL: https://github.com/geeklearningio/gl-ionic-secure-file-storage
- Owner: geeklearningio
- License: mit
- Created: 2016-11-15T10:58:46.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-10-02T12:44:06.000Z (over 8 years ago)
- Last Synced: 2025-04-05T11:34:14.214Z (about 1 year ago)
- Topics: cordova, cryptography, ionic, security, storage
- Language: TypeScript
- Size: 76.2 KB
- Stars: 3
- Watchers: 4
- Forks: 2
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Introduction
This is a secure file storage package for Ionic apps.
It allows you to transparently use Cordova encryption plugins to encrypt and store safely your data on the phone.
# Requirements
- npm
- ionic
- cordova
#Installation
1) In your project folder, install this plugin using npm
```
npm install git+https://git@github.com/geeklearningio/gl-ionic-secure-file-storage.git --save
```
2) Install the [Intel Security Cordova Plugin](https://github.com/AppSecurityApi/com-intel-security-cordova-plugin)
```
cordova plugin add com-intel-security-cordova-plugin --save
```
3) Install the [Crypho Cordova Plugin Secure Storage](https://github.com/Crypho/cordova-plugin-secure-storage)
```
cordova plugin add https://github.com/crypho/cordova-plugin-secure-storage.git --save
```
Note:
We need both plugins, because the Intel plugin does not work on iOS9 and more. As specified in this issue: https://github.com/AppSecurityApi/com-intel-security-cordova-plugin/issues/9
And the Android version of the Crypho Plugin uses a system that does not work with big files to encrypt (several hundred kilos).
Here is the Intel api documentation: https://software.intel.com/en-us/node/506834
# How to configure
1) You can use the Typescript (`package/src/SecureFileStorageService.ts`) or the Javascript ((`package/dist/SecureFileStorageService.js`)) version of the Service.
2) In your application's main module, inject the dependency `gl-ionic-secure-file-storage` in order to use the service.
```
angular.module('mainModuleName', ['ionic', 'gl-ionic-secure-file-storage']){
}
```
3) Specify a namespace for the service. It will create a secure directory with this name on the device. In the angular configm inject the `SecureFileStorageServiceConfigProvider`and set the namespace like this:
```
secureFileStorageServiceConfigProvider.setNamespace('test-app');
```
# How to use
This service has a simple Key/Value System.
The service usage is pretty straightforward after that. Just use `write`, `read` and `delete` to write, read and delete your data.
# How to use the test app
the test app does not have the package as a dependency. It allows you to make changes directly to the package and use it in your test app.
You need to link the package locally.
At the root of the project (containing the `package` and the `test-app` folders) type this in the terminal:
```
npm link
```
It will add `gl-ionic-secure-file-storage` as a global npm module.
Then go in the test-app folder and type this:
```
npm link gl-ionic-secure-file-storage
```
It will link it to the test-app.