0.9.15 • Published 10 months ago

react-native-security-suite v0.9.15

Weekly downloads
-
License
MIT
Repository
github
Last release
10 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 @react-native-async-storage/async-storage
npm install react-native-security-suite @react-native-async-storage/async-storage

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. Disable capture/screenshot:

import { SecureView } from 'react-native-security-suite';

<View style={styles.container}>
  <SecureView>
    <Text>Protect this from screenshot or screen record</Text>
  </SecureView>
</View>;

3. 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);

4. Secure storage example:

import { SecureStorage } from 'react-native-security-suite';

SecureStorage.setItem('key', 'value');
console.log(await SecureStorage.getItem('key'));

5. 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);

6. SSL Pinning with network logger:

import { fetch } from 'react-native-security-suite';

const response = await fetch('https://example.com/api', {
  method: 'POST', // or any http methods
  headers: {
    'Content-Type': 'application/json',
  },
  body: {
    key: value,
  },
  certificates: ['sha256/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX='],
  validDomains: ['example.com'],
  timeout: 6000,
});
console.log('server response: ', response.json());

7. Network Logger (Android Chucker - iOS Pulse):

import { fetch } from 'react-native-security-suite';

fetch(YOUR_REQUEST, __DEV__);

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT

0.9.12

10 months ago

0.8.9

11 months ago

0.9.13

10 months ago

0.8.8

11 months ago

0.9.14

10 months ago

0.9.15

10 months ago

0.8.5

11 months ago

0.6.7

12 months ago

0.8.4

11 months ago

0.6.6

12 months ago

0.9.10

10 months ago

0.8.7

11 months ago

0.9.11

10 months ago

0.8.6

11 months ago

0.6.8

12 months ago

0.9.0

10 months ago

0.7.2

12 months ago

0.7.1

12 months ago

0.9.2

10 months ago

0.9.1

10 months ago

0.7.0

12 months ago

0.9.8

10 months ago

0.9.7

10 months ago

0.9.9

10 months ago

0.9.3

10 months ago

0.9.6

10 months ago

0.9.5

10 months ago

0.8.11

10 months ago

0.8.10

11 months ago

0.8.1

11 months ago

0.8.0

11 months ago

0.8.3

11 months ago

0.8.2

11 months ago

0.6.5

1 year ago

0.6.4

2 years ago

0.6.3

2 years ago

0.6.2

2 years ago

0.6.1

2 years ago

0.6.0

2 years ago

0.5.19

2 years ago

0.5.20

2 years ago

0.5.18

2 years ago

0.5.16

2 years ago

0.5.17

2 years ago

0.5.15

2 years ago

0.5.14

2 years ago

0.5.13

2 years ago

0.5.10

2 years ago

0.5.8

2 years ago

0.5.7

2 years ago

0.5.9

2 years ago

0.5.12

2 years ago

0.5.4

2 years ago

0.5.3

2 years ago

0.5.5

2 years ago

0.5.0

2 years ago

0.5.2

2 years ago

0.5.1

2 years ago

0.3.0

2 years ago

0.2.0

2 years ago

0.3.2

2 years ago

0.3.1

2 years ago

0.4.3

2 years ago

0.3.3

2 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago