0.9.15 • Published 4 months ago

react-native-security-suite v0.9.15

Weekly downloads
-
License
MIT
Repository
github
Last release
4 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

4 months ago

0.8.9

5 months ago

0.9.13

4 months ago

0.8.8

5 months ago

0.9.14

4 months ago

0.9.15

4 months ago

0.8.5

5 months ago

0.6.7

6 months ago

0.8.4

5 months ago

0.6.6

6 months ago

0.9.10

4 months ago

0.8.7

5 months ago

0.9.11

4 months ago

0.8.6

5 months ago

0.6.8

6 months ago

0.9.0

4 months ago

0.7.2

6 months ago

0.7.1

6 months ago

0.9.2

4 months ago

0.9.1

4 months ago

0.7.0

6 months ago

0.9.8

4 months ago

0.9.7

4 months ago

0.9.9

4 months ago

0.9.3

4 months ago

0.9.6

4 months ago

0.9.5

4 months ago

0.8.11

4 months ago

0.8.10

5 months ago

0.8.1

5 months ago

0.8.0

5 months ago

0.8.3

5 months ago

0.8.2

5 months ago

0.6.5

10 months ago

0.6.4

1 year ago

0.6.3

1 year ago

0.6.2

1 year ago

0.6.1

1 year ago

0.6.0

1 year ago

0.5.19

1 year ago

0.5.20

1 year ago

0.5.18

1 year ago

0.5.16

1 year ago

0.5.17

1 year ago

0.5.15

1 year ago

0.5.14

1 year ago

0.5.13

1 year ago

0.5.10

1 year ago

0.5.8

1 year ago

0.5.7

1 year ago

0.5.9

1 year ago

0.5.12

1 year ago

0.5.4

1 year ago

0.5.3

1 year ago

0.5.5

1 year ago

0.5.0

1 year ago

0.5.2

1 year ago

0.5.1

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

2 years ago

0.1.1

3 years ago

0.1.0

3 years ago