mirror of
https://github.com/danog/phpseclib.git
synced 2025-01-22 13:01:59 +01:00
- password protected PuTTY keys error out ungracefully when a bad password is used to decrypt
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@176 21d32557-59b3-4da0-833f-c5933fad653e
This commit is contained in:
parent
023e0e0540
commit
2676ca1d91
@ -1080,10 +1080,19 @@ class Crypt_RSA {
|
||||
}
|
||||
|
||||
extract(unpack('Nlength', $this->_string_shift($private, 4)));
|
||||
if (strlen($private) < $length) {
|
||||
return false;
|
||||
}
|
||||
$components['privateExponent'] = new Math_BigInteger($this->_string_shift($private, $length), -256);
|
||||
extract(unpack('Nlength', $this->_string_shift($private, 4)));
|
||||
if (strlen($private) < $length) {
|
||||
return false;
|
||||
}
|
||||
$components['primes'] = array(1 => new Math_BigInteger($this->_string_shift($private, $length), -256));
|
||||
extract(unpack('Nlength', $this->_string_shift($private, 4)));
|
||||
if (strlen($private) < $length) {
|
||||
return false;
|
||||
}
|
||||
$components['primes'][] = new Math_BigInteger($this->_string_shift($private, $length), -256);
|
||||
|
||||
$temp = $components['primes'][1]->subtract($this->one);
|
||||
@ -1092,6 +1101,9 @@ class Crypt_RSA {
|
||||
$components['exponents'][] = $components['publicExponent']->modInverse($temp);
|
||||
|
||||
extract(unpack('Nlength', $this->_string_shift($private, 4)));
|
||||
if (strlen($private) < $length) {
|
||||
return false;
|
||||
}
|
||||
$components['coefficients'] = array(2 => new Math_BigInteger($this->_string_shift($private, $length), -256));
|
||||
|
||||
return $components;
|
||||
|
Loading…
x
Reference in New Issue
Block a user