Compare commits

...

3 Commits

Author SHA1 Message Date
AJ ONeal 7a97b360be v2.0.8: bugfix for node v6 2019-06-03 03:27:38 -06:00
AJ ONeal 92463a6ec2 bugfix: throw error when key gen entirely fails 2019-06-03 01:17:25 -06:00
AJ ONeal be782fbdfa v2.0.6: bump npm latest 2019-03-15 09:14:39 -06:00
6 changed files with 29 additions and 56 deletions

View File

@ -48,11 +48,10 @@ module.exports = function (bitlen, exp) {
try { try {
return require('./generate-privkey-forge.js')(bitlen, exp); return require('./generate-privkey-forge.js')(bitlen, exp);
} catch(e) { } catch(e) {
if (e.code !== 'MODULE_NOT_FOUND') {
throw e;
}
console.error("[ERROR] rsa-compat: could not generate a private key."); console.error("[ERROR] rsa-compat: could not generate a private key.");
console.error("None of crypto.generateKeyPair, ursa, nor node-forge are present"); console.error("None of crypto.generateKeyPair, ursa, nor node-forge are present");
console.error("");
throw e;
} }
} }
} }

View File

@ -171,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 this library is intentionally focused on around the use case of generating certificates for
ACME services (such as Let's Encrypt). ACME services (such as Let's Encrypt).
That said, [please tell me](https://git.coolaj86.com/coolaj86/rsa-csr.js/issues) if it doesn't That said, [please tell me](https://git.coolaj86.com/coolaj86/rsa-csr.js/issues/new) if it doesn't
do what you need, it may make sense to add it (or otherwise, perhaps to help you create a fork). 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) The primary goal of this project is for this code to do exactly (and all of)

View File

@ -15,9 +15,13 @@ try {
// ignore // ignore
} }
rsacsr({ key: key, domains: domains }).then(function (csr) { var csr = rsacsr.sync({ key: key, domains: domains });
console.log(csr);
/*
.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(','));
console.log(csr); console.log(csr);
}); });
*/

View File

@ -136,14 +136,14 @@ CSR.toDer = function encode(opts) {
RSA.signSync = function signRsaSync(keypem, ab) { RSA.signSync = function signRsaSync(keypem, ab) {
// 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);
}; };
RSA.sign = function signRsa(keypem, ab) { RSA.sign = function signRsa(keypem, ab) {
return Promise.resolve().then(function () { return Promise.resolve().then(function () {

View File

@ -1,64 +1,34 @@
{ {
"_from": "rsa-csr", "name": "rsa-csr",
"_id": "rsa-csr@1.0.5", "version": "1.0.7",
"_inBundle": false, "description": "💯 A focused, zero-dependency library to generate a Certificate Signing Request (CSR) and sign it!",
"_integrity": "sha512-rmQY0RmcpLdsXEJgE1S2xBam09YVggDIqBGCJNFkhD6ONkmpSGjZ+28J6gWy+ygKHHgC7Z+OpzDLVQYowOte3A==", "homepage": "https://git.coolaj86.com/coolaj86/rsa-csr.js",
"_location": "/rsa-csr", "main": "index.js",
"_phantomChildren": {},
"_requested": {
"type": "tag",
"registry": true,
"raw": "rsa-csr",
"name": "rsa-csr",
"escapedName": "rsa-csr",
"rawSpec": "",
"saveSpec": null,
"fetchSpec": "latest"
},
"_requiredBy": [
"#USER",
"/"
],
"_resolved": "https://registry.npmjs.org/rsa-csr/-/rsa-csr-1.0.5.tgz",
"_shasum": "ac427ae3aa16089f5f26fc93047a7d2d844b0bf4",
"_spec": "rsa-csr",
"_where": "/Volumes/Data/git.coolaj86.com/coolaj86/rsa-compat.js",
"author": {
"name": "AJ ONeal",
"email": "coolaj86@gmail.com",
"url": "https://coolaj86.com/"
},
"bin": { "bin": {
"rsa-csr": "bin/rsa-csr.js" "rsa-csr": "bin/rsa-csr.js"
}, },
"bundleDependencies": false,
"deprecated": false,
"description": "💯 A focused, zero-dependency library to generate a Certificate Signing Request (CSR) and sign it!",
"directories": {
"lib": "lib"
},
"files": [ "files": [
"bin", "bin",
"fixtures", "fixtures",
"lib" "lib"
], ],
"homepage": "https://git.coolaj86.com/coolaj86/rsa-csr.js", "directories": {
"lib": "lib"
},
"scripts": {
"postinstall": "node lib/telemetry.js event:install",
"test": "bash test.sh"
},
"repository": {
"type": "git",
"url": "https://git.coolaj86.com/coolaj86/rsa-csr.js"
},
"keywords": [ "keywords": [
"zero-dependency", "zero-dependency",
"CSR", "CSR",
"RSA", "RSA",
"x509" "x509"
], ],
"license": "MPL-2.0", "author": "AJ ONeal <coolaj86@gmail.com> (https://coolaj86.com/)",
"main": "index.js", "license": "MPL-2.0"
"name": "rsa-csr",
"repository": {
"type": "git",
"url": "https://git.coolaj86.com/coolaj86/rsa-csr.js"
},
"scripts": {
"postinstall": "node lib/telemetry.js event:install",
"test": "bash test.sh"
},
"version": "1.0.5"
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "rsa-compat", "name": "rsa-compat",
"version": "2.0.5", "version": "2.0.8",
"engines": { "engines": {
"node": ">=10.12" "node": ">=10.12"
}, },