react-native-security-suite
v0.6.5
Published
Security solution for React Native
Downloads
49
Readme
react-native-security-suite
Security solutions for React Native both platform Android and iOS You can use any of the following:
Installation
yarn add react-native-security-suite
npm install react-native-security-suite
Usage
- Android Root or iOS Jailbreak devices detection example:
import { deviceHasSecurityRisk } from 'react-native-security-suite';
const isRiskyDevice = await deviceHasSecurityRisk();
console.log('Root/Jailbreak detection result: ', isRiskyDevice);
2. Text Encryption/Decryption example:
const softEncrypted = await encrypt('STR_FOR_ENCRYPT');
console.log('Encrypted result: ', softEncrypted);
const softDecrypted = await decrypt('STR_FOR_DECRYPT');
console.log('Decrypted result: ', softDecrypted);
3. Secure storage example:
import { SecureStorage } from 'react-native-security-suite';
SecureStorage.setItem('key', 'value');
console.log(await SecureStorage.getItem('key'));
4. Diffie–Hellman key exchange:
import {
getPublicKey,
getSharedKey,
encryptBySharedKey,
decryptBySharedKey,
encrypt,
decrypt,
} from 'react-native-security-suite';
const publicKey = await getPublicKey();
console.log('Public key: ', publicKey);
/*
* Sending the publicKey to the server and receiving the SERVER_PUBLIC_KEY
* Using the SERVER_PUBLIC_KEY to generate sharedKey
*/
const sharedKey = await getSharedKey('SERVER_PUBLIC_KEY');
console.log('Shared key: ', sharedKey);
const hardEncrypted = await encryptBySharedKey('STR_FOR_ENCRYPT');
console.log('Encrypted result: ', hardEncrypted);
const hardDecrypted = await decryptBySharedKey('STR_FOR_DECRYPT');
console.log('Decrypted result: ', hardDecrypted);
5. SSL Pinning example:
import { fetch } from 'react-native-security-suite';
const response = await fetch('URL', {
method: 'GET', // or any http methods
headers: {
'Content-Type': 'application/json',
},
body: undefiend,
certificates: ['sha256/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX='],
validDomains: ['example.com'],
timeout: 6000,
});
console.log('server response: ', response.json());
Contributing
See the contributing guide to learn how to contribute to the repository and the development workflow.
License
MIT