Compare commits

...

2 Commits
sync ... master

Author SHA1 Message Date
8211d9b6d8 node v6 bugfix: don't convert NodeBuffer to Uint8Array 2019-06-03 03:25:19 -06:00
361b0bf994 doc updates 2018-12-16 00:34:53 -07:00
4 changed files with 12 additions and 11 deletions

View File

@ -1,8 +1,9 @@
[RSA-CSR.js](https://git.coolaj86.com/coolaj86/rsa-csr.js) [RSA-CSR.js](https://git.coolaj86.com/coolaj86/rsa-csr.js)
========== ==========
Sponsored by [Root](https://therootcompany.com), A [Root](https://therootcompany.com) Project.
built for [ACME.js](https://git.coolaj86.com/coolaj86/acme.js)
Built for [ACME.js](https://git.coolaj86.com/coolaj86/acme.js)
and [Greenlock.js](https://git.coolaj86.com/coolaj86/greenlock-express.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: A focused, **zero-dependency** library that can do exactly one thing really, really well:
@ -10,10 +11,6 @@ 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 | | < 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 Features
======== ========
@ -32,6 +29,10 @@ Features
* [x] Vanilla Node.js * [x] Vanilla Node.js
* no school like the old school * no school like the old school
* easy to read and understand * 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 Usage
----- -----
@ -56,7 +57,7 @@ var key = {
}; };
var domains = [ 'example.com', 'www.example.com' ]; var domains = [ 'example.com', 'www.example.com' ];
return rsacsr({ key: key, domains: domains }).then(function (csr) { return rsacsr({ jwk: key, domains: domains }).then(function (csr) {
console.log('CSR PEM:'); console.log('CSR PEM:');
console.log(csr); console.log(csr);
}); });

View File

@ -15,7 +15,7 @@ try {
// ignore // ignore
} }
rsacsr({ key: key, domains: domains }).then(function (csr) { rsacsr({ jwk: key, domains: domains }).then(function (csr) {
// Using error so that we can redirect stdout to file // Using error so that we can redirect stdout to file
//console.error("CN=" + domains[0]); //console.error("CN=" + domains[0]);
//console.error("subjectAltName=" + domains.join(',')); //console.error("subjectAltName=" + domains.join(','));

View File

@ -110,13 +110,13 @@ RSA.sign = function signRsa(keypem, ab) {
return Promise.resolve().then(function () { return Promise.resolve().then(function () {
// Signer is a stream // Signer is a stream
var sign = crypto.createSign('SHA256'); var sign = crypto.createSign('SHA256');
sign.write(new Uint8Array(ab)); sign.write(ab);
sign.end(); sign.end();
// The signature is ASN1 encoded, as it turns out // The signature is ASN1 encoded, as it turns out
var sig = sign.sign(keypem); var sig = sign.sign(keypem);
// Convert to a JavaScript ArrayBuffer just because // Convert to a JavaScript ArrayBuffer just because
return new Uint8Array(sig.buffer.slice(sig.byteOffset, sig.byteOffset + sig.byteLength)); return sig.buffer.slice(sig.byteOffset, sig.byteOffset + sig.byteLength);
}); });
}; };

View File

@ -1,6 +1,6 @@
{ {
"name": "rsa-csr", "name": "rsa-csr",
"version": "1.0.5", "version": "1.0.6",
"description": "💯 A focused, zero-dependency library to generate a Certificate Signing Request (CSR) and sign it!", "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", "homepage": "https://git.coolaj86.com/coolaj86/rsa-csr.js",
"main": "index.js", "main": "index.js",