react-native-e2ee
v1.0.0
Published
End-to-End Encryption (E2EE) made easy for react-native projects
Downloads
7
Readme
Description
This projects addresses the purpose of providing a developer friendly JS interface for generating, safely storing and serving cryptographic keys for end-to-end encryption on Android and iOS devices. Of course, the server (or another handy way of distributing data between devices) is needed, but the point of this package is to provide a developer with clients' public key and all the necessary methods to use in end-to-end encrypted communication without forcing him/her to dive into native implementations for generating and storing cryptohgraphic data.
Security
The project encrypts with RSA (Ultimately it'll use hybrid encryption with RSA and AES).
Installation
The package is not yet present on NPM registry.
Usage/API
generateKeyPair(): Promise<string>
- generates/fetches key pair for fixed alias and returns the public key.getOwnPublicKey(): Promise<string | null>
- returns own public key or null if non existing.encryptMessage( message: string, publicKey: string ): Promise<string | null>
- encrypts message for the given public key.decryptMessage(message: string): Promise<string | null>
- decrypts message using own public key.
Key progress so far
- Full API coverage for Android
Roadmap
Examine the upcoming changes here.
Contributing
See the contributing guide to learn how to contribute to the repository and the development workflow.
License
MIT
Made with create-react-native-library