mirror of
https://github.com/phpseclib/phpseclib.git
synced 2024-11-09 15:20:58 +00:00
Merge pull request #769 from terrafrost/pss-fix
RSA: fix regression for PSS signatures * terrafrost/pss-fix: Tests/RSA: add PSS test RSA: fix regression for PSS signatures
This commit is contained in:
commit
fe8fc0701b
@ -2637,7 +2637,7 @@ class Crypt_RSA
|
|||||||
// be output.
|
// be output.
|
||||||
|
|
||||||
$emLen = ($emBits + 1) >> 3; // ie. ceil($emBits / 8)
|
$emLen = ($emBits + 1) >> 3; // ie. ceil($emBits / 8)
|
||||||
$sLen = $this->sLen === false ? $this->hLen : $this->sLen;
|
$sLen = $this->sLen ? $this->sLen : $this->hLen;
|
||||||
|
|
||||||
$mHash = $this->hash->hash($m);
|
$mHash = $this->hash->hash($m);
|
||||||
if ($emLen < $this->hLen + $sLen + 2) {
|
if ($emLen < $this->hLen + $sLen + 2) {
|
||||||
@ -2675,7 +2675,7 @@ class Crypt_RSA
|
|||||||
// be output.
|
// be output.
|
||||||
|
|
||||||
$emLen = ($emBits + 1) >> 3; // ie. ceil($emBits / 8);
|
$emLen = ($emBits + 1) >> 3; // ie. ceil($emBits / 8);
|
||||||
$sLen = $this->sLen === false ? $this->hLen : $this->sLen;
|
$sLen = $this->sLen ? $this->sLen : $this->hLen;
|
||||||
|
|
||||||
$mHash = $this->hash->hash($m);
|
$mHash = $this->hash->hash($m);
|
||||||
if ($emLen < $this->hLen + $sLen + 2) {
|
if ($emLen < $this->hLen + $sLen + 2) {
|
||||||
|
@ -43,4 +43,24 @@ U9VQQSQzY1oZMVX8i1m5WUTLPz2yLJIBQVdXqhMCQBGoiuSoSjafUhV7i1cEGpb88h5NBYZzWXGZ
|
|||||||
$rsa->loadKey($privatekey);
|
$rsa->loadKey($privatekey);
|
||||||
$this->assertEquals(trim($rsa->decrypt($result), "\0"), $plaintext);
|
$this->assertEquals(trim($rsa->decrypt($result), "\0"), $plaintext);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @group github768
|
||||||
|
*/
|
||||||
|
public function testPSSSigs()
|
||||||
|
{
|
||||||
|
$rsa = new Crypt_RSA();
|
||||||
|
$rsa->loadKey('-----BEGIN PUBLIC KEY-----
|
||||||
|
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVx
|
||||||
|
wTCpvKe4eCZ0FPqri0cb2JZfXJ/DgYSF6vUpwmJG8wVQZKjeGcjDOL5UlsuusFnc
|
||||||
|
CzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ51s1SPrCBkedbNf0T
|
||||||
|
p0GbMJDyR4e9T04ZZwIDAQAB
|
||||||
|
-----END PUBLIC KEY-----');
|
||||||
|
|
||||||
|
$sig = pack('H*', '1bd29a1d704a906cd7f726370ce1c63d8fb7b9a620871a05f3141a311c0d6e75fefb5d36dfb50d3ea2d37cd67992471419bfadd35da6e13b494' .
|
||||||
|
'058ddc9b568d4cfea13ddc3c62b86a6256f5f296980d1131d3eaec6089069a3de79983f73eae20198a18721338b4a66e9cfe80e4f8e4fcef7a5bead5cbb' .
|
||||||
|
'b8ac4c76adffbc178c');
|
||||||
|
|
||||||
|
$this->assertTrue($rsa->verify('zzzz', $sig));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user