Popularity
1.5
Growing
Activity
7.6
-
62
7
4

Monthly Downloads: 0
Programming language: JavaScript
Tags: Security    
Latest version: v1.3.0

jose-simple alternatives and similar modules

Based on the "Security" category.
Alternatively, view jose-simple alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of jose-simple or a related project?

Add another 'Security' Module

README

jose-simple

Proper encryption ought to be simple, and widespread.

Jose-Simple simplifies the encryption and decryption of data using the JOSE (JSON Object Signing and Encryption) standard.

NPM

Caveats

Installation

npm install jose-simple

Links

Useage

const jose = 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)

const someData = {
  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
  })
})

Options

See encrypt.js#L660-L668

You can add encrypt options as follows:

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

<!-- prettier-ignore --> | Branch | Status | Coverage | Audit | Comment | | ------ | ------ | -------- | ----- | ------- | | develop | CircleCI | codecov | Vulnerabilities | Work in progress | | master | CircleCI | codecov | Vulnerabilities | Latest release |

Prerequisites

  • [NodeJS](htps://nodejs.org), 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](CONTRIBUTING.md) for more details.