v2.0.0: remove old deps, light cleanup
This commit is contained in:
parent
7580d700bf
commit
3db8b49929
34
README.md
34
README.md
|
@ -1,4 +1,5 @@
|
|||
# rsa-compat.js
|
||||
# [rsa-compat.js](https://git.coolaj86.com/coolaj86/rsa-compat.js)
|
||||
|
||||
!["Lifetime Downloads"](https://img.shields.io/npm/dt/rsa-compat.svg "Lifetime Download Count can't be shown")
|
||||
!["Monthly Downloads"](https://img.shields.io/npm/dm/rsa-compat.svg "Monthly Download Count can't be shown")
|
||||
!["Weekly Downloads"](https://img.shields.io/npm/dw/rsa-compat.svg "Weekly Download Count can't be shown")
|
||||
|
@ -7,9 +8,6 @@
|
|||
|
||||
JavaScript RSA utils that work on Windows, Mac, and Linux with or without C compiler
|
||||
|
||||
This now uses node-native RSA key generation and lightweight, zero-dependency solutions for key conversion.
|
||||
However, it also optionally depends on `ursa` and `forge` for backwards compatibility with older node versions.
|
||||
|
||||
This was built for the [ACME.js](https://git.coolaj86.com/coolaj86/acme.js) and
|
||||
[Greenlock.js](https://git.coolaj86.com/coolaj86/greenlock.js) **Let's Encrypt** clients
|
||||
and is particularly suitable for building **certbot**-like clients.
|
||||
|
@ -24,6 +22,8 @@ node.js
|
|||
npm install --save rsa-compat
|
||||
```
|
||||
|
||||
If you need compatibility with older versions of node, you may need to `npm install --save ursa-optional node-forge`.
|
||||
|
||||
### CLI
|
||||
|
||||
```bash
|
||||
|
@ -80,16 +80,9 @@ Here's what the object might look like:
|
|||
, n: '/*base64 modulus n = pq*/'
|
||||
, e: '/*base64 exponent (usually 65537)*/'
|
||||
}
|
||||
|
||||
, _ursa: '/*undefined or intermediate ursa object*/'
|
||||
, _ursaPublic: '/*undefined or intermediate ursa object*/'
|
||||
, _forge: '/*undefined or intermediate forge object*/'
|
||||
, _forgePublic: '/*undefined or intermediate forge object*/'
|
||||
}
|
||||
```
|
||||
|
||||
NOTE: this object is JSON safe as _ursa and _forge will be ignored
|
||||
|
||||
See http://crypto.stackexchange.com/questions/6593/what-data-is-saved-in-rsa-private-key to learn a little more about the meaning of the specific fields in the JWK.
|
||||
|
||||
# API Summary
|
||||
|
@ -106,6 +99,7 @@ See http://crypto.stackexchange.com/questions/6593/what-data-is-saved-in-rsa-pri
|
|||
* (deprecated `RSA.signJws(keypair, payload, nonce)`)
|
||||
* `RSA.generateCsrPem(keypair, names)`
|
||||
* `RSA.generateCsrDerWeb64(keypair, names)`
|
||||
* `RSA.thumbprint(keypair)`
|
||||
|
||||
`keypair` can be any object with any of these keys `publicKeyPem, privateKeyPem, publicKeyJwk, privateKeyJwk`
|
||||
|
||||
|
@ -195,6 +189,21 @@ The result looks like this:
|
|||
}
|
||||
```
|
||||
|
||||
### RSA.thumbprint(keypair)
|
||||
|
||||
Generates a JWK thumbprint.
|
||||
|
||||
`RSA.thumbprint(keypair)`:
|
||||
```javascript
|
||||
var thumb = RSA.thumbprint(keypair);
|
||||
|
||||
console.log(thumb);
|
||||
```
|
||||
|
||||
```
|
||||
// kK4OXp5CT1FEkHi6WkegldmeTJecSTyJN-DxZ91nQ30
|
||||
```
|
||||
|
||||
### RSA.generateCsr*(keypair, names)
|
||||
|
||||
You can generate the CSR in human-readable or binary / base64 formats:
|
||||
|
@ -257,9 +266,12 @@ but it does matter.
|
|||
|
||||
# ChangeLog:
|
||||
|
||||
* v2.0.0
|
||||
* remove ursa and node-forge as strict dependencies
|
||||
* v1.9.0
|
||||
* consistently handle key generation across node crypto, ursa, and forge
|
||||
* move all other operations to rasha.js and rsa-csr.js
|
||||
* bugfix non-standard JWKs output (which *mostly* worked)
|
||||
* v1.4.0
|
||||
* remove ursa as dependency (just causes confusion), but note in docs
|
||||
* drop node < v6 support
|
||||
|
|
12
package.json
12
package.json
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "rsa-compat",
|
||||
"version": "1.9.0",
|
||||
"version": "2.0.0",
|
||||
"description": "RSA utils that work on Windows, Mac, and Linux with or without C compiler",
|
||||
"main": "index.js",
|
||||
"bin": {
|
||||
|
@ -33,13 +33,9 @@
|
|||
"url": "https://git.coolaj86.com/coolaj86/rsa-compat.js/issues"
|
||||
},
|
||||
"homepage": "https://git.coolaj86.com/coolaj86/rsa-compat.js#readme",
|
||||
"dependencies": {
|
||||
"node-forge": "^0.7.6"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"ursa-optional": "^0.9.10"
|
||||
},
|
||||
"trulyOptionalDependencies": {
|
||||
"buffer-v6-polyfill": "^1.0.3"
|
||||
"buffer-v6-polyfill": "^1.0.3",
|
||||
"node-forge": "^0.7.6",
|
||||
"ursa-optional": "^0.9.10"
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue