Socket
Socket
Sign inDemoInstall

selfsigned

Package Overview
Dependencies
147
Maintainers
2
Versions
34
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.7.0 to 1.8.0

23

index.js
var forge = require('node-forge');
var fs = require('fs');
// a hexString is considered negative if it's most significant bit is 1
// because serial numbers use ones' complement notation
// this RFC in section 4.1.2.2 requires serial numbers to be positive
// http://www.ietf.org/rfc/rfc5280.txt
function toPositiveHex(hexString){
var mostSiginficativeHexAsInt = parseInt(hexString[0], 16);
if (mostSiginficativeHexAsInt < 8){
return hexString;
}
mostSiginficativeHexAsInt -= 8;
return mostSiginficativeHexAsInt.toString() + hexString.substring(1);
}
function getAlgorithm(key) {

@@ -8,3 +21,2 @@ switch (key) {

return forge.md.sha256.create();
case 'sha1':
default:

@@ -29,3 +41,4 @@ return forge.md.sha1.create();

cert.serialNumber = forge.util.bytesToHex(forge.random.getBytesSync(9)); // the serial number can be decimal or hex (if preceded by 0x)
cert.serialNumber = toPositiveHex(forge.util.bytesToHex(forge.random.getBytesSync(9))); // the serial number can be decimal or hex (if preceded by 0x)
cert.validity.notBefore = new Date();

@@ -95,3 +108,3 @@ cert.validity.notAfter = new Date();

var clientcert = forge.pki.createCertificate();
clientcert.serialNumber = forge.util.bytesToHex(forge.random.getBytesSync(9));
clientcert.serialNumber = toPositiveHex(forge.util.bytesToHex(forge.random.getBytesSync(9)));
clientcert.validity.notBefore = new Date();

@@ -170,4 +183,4 @@ clientcert.validity.notAfter = new Date();

} : forge.pki.rsa.generateKeyPair(keySize);
return generatePem(keyPair);
};
{
"name": "selfsigned",
"version": "1.7.0",
"version": "1.8.0",
"description": "Generate self signed certificates private and public keys",

@@ -5,0 +5,0 @@ "main": "index.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc