Skip to content

Commit

Permalink
SSH2Stream: fix DSA signature adjustment
Browse files Browse the repository at this point in the history
  • Loading branch information
mscdex committed Mar 15, 2015
1 parent f6601ba commit d4ecde6
Showing 1 changed file with 16 additions and 2 deletions.
18 changes: 16 additions & 2 deletions lib/ssh.js
Original file line number Diff line number Diff line change
Expand Up @@ -3510,8 +3510,22 @@ function parsePacket(self, callback) {
// OpenSSL
var asnSigWriter = new Ber.Writer();
asnSigWriter.startSequence();
asnSigWriter.writeBuffer(signature.slice(0, 20), Ber.Integer);
asnSigWriter.writeBuffer(signature.slice(20), Ber.Integer);
var rBuf = signature.slice(0, 20);
var sBuf = signature.slice(20);
if (rBuf[0] & 0x80) {
var rNew = new Buffer(21);
rNew[0] = 0x00;
rBuf.copy(rNew, 1);
rBuf = rNew;
}
if (sBuf[0] & 0x80) {
var sNew = new Buffer(21);
sNew[0] = 0x00;
sBuf.copy(sNew, 1);
sBuf = sNew;
}
asnSigWriter.writeBuffer(rBuf, Ber.Integer);
asnSigWriter.writeBuffer(sBuf, Ber.Integer);
asnSigWriter.endSequence();
signature = asnSigWriter.buffer;
}
Expand Down

0 comments on commit d4ecde6

Please sign in to comment.