
Product
Rust Support Now in Beta
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.
encryption-services
Advanced tools
This library provides an interface for encrypting and decrypting messages using Zenroom's cryptographic engine, with public key sharing and key generation features. It simplifies the process of establishing secure communication between clients and servers
This library provides an interface for encrypting and decrypting messages using Zenroom's cryptographic engine, with public key sharing and key generation features. It simplifies the process of establishing secure communication between clients and servers.
To install the library, use npm or yarn:
npm install encryption-services
or
yarn add encryption-services
import { EncryptionService } from 'encryption-services';
To initialize the encryption service, you need to provide the server's public key URL and a shared key URL:
const services = new EncryptionService();
services.initialize('https://server.com/public-key', 'https://server.com/shared-key').subscribe((data) => {
setClientId(data.clientID)
setIsReady(data.isReady)
setServerPubKey(data.serverPublicKey)
setPrivateKey(data.privateKey)
});
clientID
: A randomly generated client ID used to uniquely identify the client in communication with the server.isReady
: A boolean value indicating whether the encryption service is ready to send and receive encrypted messages.serverPublicKey
: The server's public key, which is used to encrypt messages sent to the server.privateKey
: The client's private key, which is used to decrypt messages received from the server.Once the initialization process is complete, these values can be used in the rest of the encryption and decryption processes.
To encrypt a message, call the encryptMessage method after the service is ready. Ensure that you pass the message, server public key, and the client's private key:
function encryptMessage(message) {
return new Promise((resolve, reject) => {
services.encryptMessage(message, serverPubKey, privateKey).subscribe(
(result) => {
resolve(result);
},
(error) => {
reject(error);
}
);
});
}
To decrypt a message received from the server, use the decryptMessage method:
function decryptResponse(message) {
return new Promise((resolve, reject) => {
services.decryptMessage(message, serverPubKey, privateKey).subscribe(
(result) => {
resolve(result);
},
(error) => {
reject(error);
}
);
});
}
FAQs
This library provides an interface for encrypting and decrypting messages using Zenroom's cryptographic engine, with public key sharing and key generation features. It simplifies the process of establishing secure communication between clients and servers
We found that encryption-services demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.
Product
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
Security News
Socket CEO Feross Aboukhadijeh joins Risky Business Weekly to unpack recent npm phishing attacks, their limited impact, and the risks if attackers get smarter.