| 123456789101112131415161718192021222324252627282930313233343536373839 |
- diff --git a/node_modules/ssh2/lib/protocol/keyParser.js b/node_modules/ssh2/lib/protocol/keyParser.js
- index 9860e3f..ee82e51 100644
- --- a/node_modules/ssh2/lib/protocol/keyParser.js
- +++ b/node_modules/ssh2/lib/protocol/keyParser.js
- @@ -15,6 +15,7 @@ const {
- sign: sign_,
- verify: verify_,
- } = require('crypto');
- +const { createVerify: createVerifyDSS } = require('browserify-sign')
- const supportedOpenSSLCiphers = getCiphers();
-
- const { Ber } = require('asn1');
- @@ -404,6 +405,17 @@ const BaseKey = {
- return new Error('No public key available');
- if (!algo || typeof algo !== 'string')
- algo = this[SYM_HASH_ALGO];
- +
- + if (algo === 'dss1') {
- + const verifier = createVerifyDSS('DSA-SHA1');
- + verifier.update(data);
- + try {
- + return verifier.verify(pem, signature);
- + } catch (ex) {
- + return ex;
- + }
- + }
- +
- try {
- return verify_(algo, data, pem, signature);
- } catch (ex) {
- @@ -1343,7 +1355,7 @@ function parseDER(data, baseType, comment, fullType) {
- return new Error('Malformed OpenSSH public key');
- pubPEM = genOpenSSLDSAPub(p, q, g, y);
- pubSSH = genOpenSSHDSAPub(p, q, g, y);
- - algo = 'sha1';
- + algo = 'dss1';
- break;
- }
- case 'ssh-ed25519': {
|