Socket
Socket
Sign inDemoInstall

sshpk

Package Overview
Dependencies
9
Maintainers
1
Versions
50
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.9.0 to 1.9.1

13

lib/certificate.js

@@ -131,7 +131,16 @@ // Copyright 2016 Joyent, Inc.

Certificate.prototype.signWith = function (key) {
utils.assertCompatible(key, PrivateKey, [1, 2], 'key');
var fmts = Object.keys(formats);
var didOne = false;
for (var i = 0; i < fmts.length; ++i) {
if (fmts[i] !== 'pem')
formats[fmts[i]].sign(this, key);
if (fmts[i] !== 'pem') {
var ret = formats[fmts[i]].sign(this, key);
if (ret === true)
didOne = true;
}
}
if (!didOne) {
throw (new Error('Failed to sign the certificate for any ' +
'available certificate formats'));
}
};

@@ -138,0 +147,0 @@

@@ -61,2 +61,4 @@ // Copyright 2016 Joyent, Inc.

throw (new Error('SSH certificate algorithm mismatch'));
if (algo === undefined)
algo = innerAlgo;

@@ -172,11 +174,18 @@ var cert = {};

function sign(cert, key) {
assert.ok(PrivateKey.isPrivateKey(key, [1, 2]));
if (cert.signatures.openssh === undefined)
cert.signatures.openssh = {};
try {
var blob = toBuffer(cert, true);
} catch (e) {
delete (cert.signatures.openssh);
return (false);
}
var sig = cert.signatures.openssh;
var blob = toBuffer(cert, true);
var signer = key.createSign();
var hashAlgo = undefined;
if (key.type === 'rsa' || key.type === 'dsa')
hashAlgo = 'sha1';
var signer = key.createSign(hashAlgo);
signer.write(blob);
sig.signature = signer.sign();
return (true);
}

@@ -267,2 +276,4 @@

return ('ecdsa');
if (certType === 'ssh-ed25519-cert-v01@openssh.com')
return ('ed25519');
throw (new Error('Unsupported cert type ' + certType));

@@ -278,3 +289,5 @@ }

return ('ecdsa-sha2-' + key.curve + '-cert-v01@openssh.com');
if (key.type === 'ed25519')
return ('ssh-ed25519-cert-v01@openssh.com');
throw (new Error('Unsupported key type ' + key.type));
}

5

lib/formats/x509.js

@@ -341,3 +341,4 @@ // Copyright 2016 Joyent, Inc.

sig.algo = key.type + '-' + key.defaultHashAlgorithm();
assert.string(SIGN_ALGS[sig.algo]);
if (SIGN_ALGS[sig.algo] === undefined)
return (false);

@@ -352,2 +353,4 @@ var der = new asn1.BerWriter();

cert.signatures.x509.signature = signer.sign();
return (true);
}

@@ -354,0 +357,0 @@

{
"name": "sshpk",
"version": "1.9.0",
"version": "1.9.1",
"description": "A library for finding and using SSH public keys",

@@ -5,0 +5,0 @@ "main": "lib/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