mirror of
https://github.com/phpseclib/phpseclib.git
synced 2024-11-11 00:01:00 +00:00
Merge branch '1.0' into 2.0
This commit is contained in:
commit
b08f17f514
@ -2568,7 +2568,7 @@ class RSA
|
|||||||
// be output.
|
// be output.
|
||||||
|
|
||||||
$emLen = ($emBits + 1) >> 3; // ie. ceil($emBits / 8)
|
$emLen = ($emBits + 1) >> 3; // ie. ceil($emBits / 8)
|
||||||
$sLen = $this->sLen ? $this->sLen : $this->hLen;
|
$sLen = $this->sLen !== null ? $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) {
|
||||||
@ -2606,7 +2606,7 @@ class RSA
|
|||||||
// be output.
|
// be output.
|
||||||
|
|
||||||
$emLen = ($emBits + 1) >> 3; // ie. ceil($emBits / 8);
|
$emLen = ($emBits + 1) >> 3; // ie. ceil($emBits / 8);
|
||||||
$sLen = $this->sLen ? $this->sLen : $this->hLen;
|
$sLen = $this->sLen !== null ? $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) {
|
||||||
|
@ -63,4 +63,35 @@ p0GbMJDyR4e9T04ZZwIDAQAB
|
|||||||
|
|
||||||
$this->assertTrue($rsa->verify('zzzz', $sig));
|
$this->assertTrue($rsa->verify('zzzz', $sig));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testZeroLengthSalt()
|
||||||
|
{
|
||||||
|
$plaintext = 'a';
|
||||||
|
|
||||||
|
$rsa = new Crypt_RSA();
|
||||||
|
|
||||||
|
$privatekey = '-----BEGIN RSA PRIVATE KEY-----
|
||||||
|
MIICXAIBAAKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe4eCZ0FPqri0cb2JZfXJ/DgYSF6vUp
|
||||||
|
wmJG8wVQZKjeGcjDOL5UlsuusFncCzWBQ7RKNUSesmQRMSGkVb1/3j+skZ6UtW+5u09lHNsj6tQ5
|
||||||
|
1s1SPrCBkedbNf0Tp0GbMJDyR4e9T04ZZwIDAQABAoGAFijko56+qGyN8M0RVyaRAXz++xTqHBLh
|
||||||
|
3tx4VgMtrQ+WEgCjhoTwo23KMBAuJGSYnRmoBZM3lMfTKevIkAidPExvYCdm5dYq3XToLkkLv5L2
|
||||||
|
pIIVOFMDG+KESnAFV7l2c+cnzRMW0+b6f8mR1CJzZuxVLL6Q02fvLi55/mbSYxECQQDeAw6fiIQX
|
||||||
|
GukBI4eMZZt4nscy2o12KyYner3VpoeE+Np2q+Z3pvAMd/aNzQ/W9WaI+NRfcxUJrmfPwIGm63il
|
||||||
|
AkEAxCL5HQb2bQr4ByorcMWm/hEP2MZzROV73yF41hPsRC9m66KrheO9HPTJuo3/9s5p+sqGxOlF
|
||||||
|
L0NDt4SkosjgGwJAFklyR1uZ/wPJjj611cdBcztlPdqoxssQGnh85BzCj/u3WqBpE2vjvyyvyI5k
|
||||||
|
X6zk7S0ljKtt2jny2+00VsBerQJBAJGC1Mg5Oydo5NwD6BiROrPxGo2bpTbu/fhrT8ebHkTz2epl
|
||||||
|
U9VQQSQzY1oZMVX8i1m5WUTLPz2yLJIBQVdXqhMCQBGoiuSoSjafUhV7i1cEGpb88h5NBYZzWXGZ
|
||||||
|
37sJ5QsW+sJyoNde3xH8vdXhzU7eT82D6X/scw9RZz+/6rCJ4p0=
|
||||||
|
-----END RSA PRIVATE KEY-----';
|
||||||
|
$rsa->loadKey($privatekey);
|
||||||
|
$rsa->setSaltLength(0);
|
||||||
|
|
||||||
|
// Check we generate the correct signature.
|
||||||
|
$sig = pack('H*', '0ddfc93548e21d015c0a289a640b3b79aecfdfae045f583c5925b91cc5c399bba181616ad6ae20d9662d966f0eb2fddb550f4733268e34d640f4c9dadcaf25b3c82c42130a5081c6ebad7883331c65b25b6a37ffa7c4233a468dae56180787e2718ed87c48d8d50b72f5850e4a40963b4f36710be250ecef6fe0bb91249261a3');
|
||||||
|
$this->assertEquals($sig, $rsa->sign($plaintext));
|
||||||
|
|
||||||
|
// Check we can verify the signature correctly.
|
||||||
|
$rsa->loadKey($rsa->getPublicKey());
|
||||||
|
$this->assertTrue($rsa->verify($plaintext, $sig));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user