Compare commits
No commits in common. "master" and "v1.0.2" have entirely different histories.
24
README.md
24
README.md
@ -1,9 +1,8 @@
|
||||
[RSA-CSR.js](https://git.coolaj86.com/coolaj86/rsa-csr.js)
|
||||
RSA-CSR.js
|
||||
==========
|
||||
|
||||
A [Root](https://therootcompany.com) Project.
|
||||
|
||||
Built for [ACME.js](https://git.coolaj86.com/coolaj86/acme.js)
|
||||
Sponsored by [Root](https://therootcompany.com),
|
||||
built for [ACME.js](https://git.coolaj86.com/coolaj86/acme.js)
|
||||
and [Greenlock.js](https://git.coolaj86.com/coolaj86/greenlock-express.js)
|
||||
|
||||
A focused, **zero-dependency** library that can do exactly one thing really, really well:
|
||||
@ -11,6 +10,10 @@ A focused, **zero-dependency** library that can do exactly one thing really, rea
|
||||
|
||||
| < 300 lines of code | 1.7k gzipped | 4.7k minified | 8.5k with comments |
|
||||
|
||||
Need JWK-to-PEM? Try [Rasha.js](https://git.coolaj86.com/coolaj86/rasha.js)
|
||||
|
||||
Need to generate an EC CSR? Try [ECSDA-CSR.js](https://git.coolaj86.com/coolaj86/ecdsa-csr.js)
|
||||
|
||||
Features
|
||||
========
|
||||
|
||||
@ -29,10 +32,6 @@ Features
|
||||
* [x] Vanilla Node.js
|
||||
* no school like the old school
|
||||
* easy to read and understand
|
||||
* [ ] JWK-to-PEM
|
||||
* See [Rasha.js](https://git.coolaj86.com/coolaj86/rasha.js)
|
||||
* [ ] EC CSR
|
||||
* See [ECSDA-CSR.js](https://git.coolaj86.com/coolaj86/ecdsa-csr.js)
|
||||
|
||||
Usage
|
||||
-----
|
||||
@ -57,7 +56,7 @@ var key = {
|
||||
};
|
||||
var domains = [ 'example.com', 'www.example.com' ];
|
||||
|
||||
return rsacsr({ jwk: key, domains: domains }).then(function (csr) {
|
||||
return rsacsr({ key: key, domains: domains }).then(function (csr) {
|
||||
console.log('CSR PEM:');
|
||||
console.log(csr);
|
||||
});
|
||||
@ -65,7 +64,7 @@ return rsacsr({ jwk: key, domains: domains }).then(function (csr) {
|
||||
|
||||
The output will look something like this (but much longer):
|
||||
|
||||
```
|
||||
```js
|
||||
-----BEGIN CERTIFICATE REQUEST-----
|
||||
MIIClTCCAX0CAQAwFjEUMBIGA1UEAwwLZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3
|
||||
DQEBAQUAA4IBDwAwggEKAoIBAQCba21UHE+VbDTpmYYFZUOV+OQ8AngOCdjROsPC
|
||||
@ -82,7 +81,7 @@ If you need to convert a PEM to JWK first, do so:
|
||||
```js
|
||||
var Rasha = require('rasha');
|
||||
|
||||
Rasha.import({ pem: "-----BEGIN RSA PRIVATE KEY-----\nMIIEpAI..." }).then(function (jwk) {
|
||||
Rasha.import({ pem: '-----BEGIN RSA PRIVATE KEY-----\nMIIEpAI..." }).then(function (jwk) {
|
||||
console.log(jwk);
|
||||
})
|
||||
```
|
||||
@ -172,7 +171,7 @@ Rather than trying to make a generic implementation that works with everything u
|
||||
this library is intentionally focused on around the use case of generating certificates for
|
||||
ACME services (such as Let's Encrypt).
|
||||
|
||||
That said, [please tell me](https://git.coolaj86.com/coolaj86/rsa-csr.js/issues/new) if it doesn't
|
||||
That said, [please tell me](https://git.coolaj86.com/coolaj86/rsa-csr.js/issues) if it doesn't
|
||||
do what you need, it may make sense to add it (or otherwise, perhaps to help you create a fork).
|
||||
|
||||
The primary goal of this project is for this code to do exactly (and all of)
|
||||
@ -209,7 +208,6 @@ Hence, all of these projects are MPL-2.0 licensed.
|
||||
Legal
|
||||
-----
|
||||
|
||||
[RSA-CSR.js](https://git.coolaj86.com/coolaj86/rsa-csr.js) |
|
||||
MPL-2.0 |
|
||||
[Terms of Use](https://therootcompany.com/legal/#terms) |
|
||||
[Privacy Policy](https://therootcompany.com/legal/#privacy)
|
||||
|
||||
@ -15,7 +15,7 @@ try {
|
||||
// ignore
|
||||
}
|
||||
|
||||
rsacsr({ jwk: key, domains: domains }).then(function (csr) {
|
||||
rsacsr({ key: key, domains: domains }).then(function (csr) {
|
||||
// Using error so that we can redirect stdout to file
|
||||
//console.error("CN=" + domains[0]);
|
||||
//console.error("subjectAltName=" + domains.join(','));
|
||||
|
||||
@ -110,13 +110,13 @@ RSA.sign = function signRsa(keypem, ab) {
|
||||
return Promise.resolve().then(function () {
|
||||
// Signer is a stream
|
||||
var sign = crypto.createSign('SHA256');
|
||||
sign.write(ab);
|
||||
sign.write(new Uint8Array(ab));
|
||||
sign.end();
|
||||
|
||||
// The signature is ASN1 encoded, as it turns out
|
||||
var sig = sign.sign(keypem);
|
||||
|
||||
// Convert to a JavaScript ArrayBuffer just because
|
||||
return sig.buffer.slice(sig.byteOffset, sig.byteOffset + sig.byteLength);
|
||||
return new Uint8Array(sig.buffer.slice(sig.byteOffset, sig.byteOffset + sig.byteLength));
|
||||
});
|
||||
};
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "rsa-csr",
|
||||
"version": "1.0.6",
|
||||
"version": "1.0.2",
|
||||
"description": "💯 A focused, zero-dependency library to generate a Certificate Signing Request (CSR) and sign it!",
|
||||
"homepage": "https://git.coolaj86.com/coolaj86/rsa-csr.js",
|
||||
"main": "index.js",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user