You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Requires Node 10.12.0 or better if you want to run the tests. Works fine under Node 12+, and might run under versions of node going back to 8.x but no further.
constjose=require('jose-simple')// You need a private / public JWE key pair.// Either load them from `.pem` files, create them, or somehow acquire them.// The private key must not have a passphrase or cypher!// see https://github.com/cisco/node-jose/issues/69#issuecomment-236133179// see also https://github.com/cisco/node-jose/issues/234#issuecomment-457615794// see unit tests for a simple example.const{ encrypt, decrypt }=jose(privateKey,publicKey)constsomeData={some: 'amazing data',you: 'want to keep hidden',from: 'prying eyes'}encrypt(someData).then(encrypted=>{console.log('encrypted',encrypted)decrypt(encrypted).then(decrypted=>{console.log('decrypted',decrypted)// decrypted will be the same as someData})})
const{ encrypt, decrypt }=jose(privateKey,publicKey,{format: 'compact'protect: true,// or any of the encrypt options than can be passed to JWE.createEncrypt.// https://github.com/cisco/node-jose/blob/master/lib/jwe/encrypt.js#L660-L668})
Development
Branch
Status
Coverage
Audit
Comment
develop
Work in progress
main
Latest release
Prerequisites
NodeJS, I use nvm to manage Node versions — brew install nvm.
Test it
npm test — runs the unit tests. The tests give an example of how to create key pairs too. (Leverages the crypto.generateKeyPair libraries introduced in Node 10.12.0.)
npm run test:unit:cov — runs the unit tests with code coverage
Lint it
npm run lint
Contributing
Contributions are welcome. Please see CONTRIBUTING for more details.
About
Jose-Simple allows the encryption and decryption of data using the JOSE (JSON Object Signing and Encryption) standard.