0.6.3 • Published 2 months ago

react-native-security-suite v0.6.3

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

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

  1. 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

0.6.3

2 months ago

0.6.2

2 months ago

0.6.1

2 months ago

0.6.0

2 months ago

0.5.19

4 months ago

0.5.20

4 months ago

0.5.18

4 months ago

0.5.16

4 months ago

0.5.17

4 months ago

0.5.15

4 months ago

0.5.14

4 months ago

0.5.13

4 months ago

0.5.10

4 months ago

0.5.8

4 months ago

0.5.7

4 months ago

0.5.9

4 months ago

0.5.12

4 months ago

0.5.4

4 months ago

0.5.3

4 months ago

0.5.5

4 months ago

0.5.0

4 months ago

0.5.2

4 months ago

0.5.1

4 months ago

0.3.0

9 months ago

0.2.0

10 months ago

0.3.2

9 months ago

0.3.1

9 months ago

0.4.3

9 months ago

0.3.3

9 months ago

0.1.2

1 year ago

0.1.1

2 years ago

0.1.0

2 years ago