terrafrost
d741def23c
AES: Fix broken CFB and disableContinuousBuffer()
...
Quoting from petrich's pull request (from which this commit was inspired):
Fixed: Broken CFB in continuous mode when using CRYPT_AES_MODE_MCRYPT (related to: #39 )
Fixed: Multiple calls to enable/disableContinuousBuffer()
Fixed: Some PHP Notice/Warnings about strlen(array())
2013-01-09 17:39:57 -06:00
terrafrost
e71fc97913
Revamp SSH1 logging and go back to using user_error
...
(_handle_error returned the line number in _handle_error - not the line number triggering the error)
2013-01-08 22:09:27 -06:00
terrafrost
a890c6d127
Merge remote-tracking branch 'origin/petrich'
2013-01-06 19:14:05 -06:00
terrafrost
5e882d57fe
Merge remote-tracking branch 'origin/petrich'
2013-01-06 19:10:25 -06:00
terrafrost
edc6d9cf5b
AES.php in mcrypt mode always treated CFB as though it was a continuous cipher
2013-01-06 19:09:43 -06:00
terrafrost
fc2bf41588
Fix E_NOTICEs in the rewritten CFB mode
2013-01-06 19:08:36 -06:00
terrafrost
1626c0a3c7
CS adjustments to petrich's code and optimizations
2013-01-05 17:55:30 -06:00
terrafrost
fba455dfb2
Merge remote-tracking branch 'petrich/patch-2' into petrich
...
Conflicts:
phpseclib/Crypt/Rijndael.php
2013-01-05 17:54:22 -06:00
Hans-Jürgen Petrich
d1f71cc5a7
Fixed CFB Decrypt(). Fixed OFB warnings
...
Fixed/rewritten: Decrypt() in CFB mode to work clean with enableContinuousBuffer()
Fixed: PHP's strlen(array()) warning in OFB mode,
Fixed: disableContinuousBuffer() clear's now also the $enbuffer/$debuffer arrays so that multiple calls to enable/disableContinuousBuffer() will work without old buffers
2013-01-05 16:23:35 +07:00
terrafrost
c1244dd339
CFB didn't always work in continuous mode
2013-01-04 20:53:23 -06:00
Hans-Jürgen Petrich
359e38b4d4
fixed corrupted decrypt() in CTR mode
...
$buffer['encrypted'] (which is always empty) should be $buffer['ciphertext'] or buffered stream will get corrupt...
Example:
define('CRYPT_AES_MODE',CRYPT_AES_MODE_INTERNAL);//in MODE_MCRYPT all is fine
$aes = new Crypt_AES(CRYPT_AES_MODE_CTR);
$aes->setKey(':-8');
$aes->enableContinuousBuffer();
$plaintext = ':-):-):-):-):-):-)';
for($i=0; $i<strlen($plaintext); $i++) {
echo $aes->Decrypt($aes->Encrypt($plaintext[$i]));
}
Output:
:-):-):-):-):-):-(
Expected:
:-):-):-):-):-):-)
After Bugfix, output is:
:-):-):-):-):-):-)
2013-01-04 14:23:34 +07:00
terrafrost
61ad80fd64
More strlen() / empty() changes
2013-01-03 00:26:27 -06:00
terrafrost
9b4240c104
Use !empty('0') instead of strlen('0')
...
Thanks petrich!
2013-01-03 00:21:09 -06:00
terrafrost
e4ccaef7bf
Make PEM lines be 64 bytes long instead of 72
...
Also, add more notes to Crypt_Random's comments
2012-12-18 07:11:24 -06:00
terrafrost
7f5e9f404a
Random: expand on the explanations as to how things work
2012-12-17 08:41:47 -06:00
terrafrost
35832fe2a1
Refactor crypt_random (renaming it to crypt_random_string)
...
...and update all the calls to it accordingly
2012-12-16 02:20:16 -06:00
Patrick Monnerat
06779a92de
Merge branch 'master' of https://github.com/phpseclib/phpseclib into pmexts
2012-12-10 12:10:06 +01:00
Patrick Monnerat
f039a6ebc2
RSA: Allow changing openssl configuration file. X509: process HoldInstructionCode.
...
Also fixes HoldInstruction* OIDs.
2012-12-10 12:07:49 +01:00
terrafrost
3c6ae4312f
The user_error in _handle_error shouldn't be replaced..
2012-11-29 00:19:09 -06:00
terrafrost
3caaa91160
Replace user_error() with new _handle_error() function
...
To use exceptions do define('PHPSECLIB_USE_EXCEPTIONS', true).
To have the exceptions thrown by phpseclib be of a certain class define PHPSECLIB_EXCEPTION_CLASS.
2012-11-28 23:33:15 -06:00
terrafrost
fbf3ba353e
Null pad RSA ciphertext's to be the length of the modulo and improve XML parsing
2012-11-19 23:00:04 -06:00
terrafrost
2a1909fd71
Set $this->paddable to true in a few missing places
2012-11-16 02:59:06 -06:00
Patrick Monnerat
26b842be5b
X509: compute public key identifiers.
...
Force subject public key identifier when signing a CA.
2012-10-29 18:21:25 +01:00
terrafrost
7ba006ccdc
Add getSize() function to Crypt_RSA
2012-10-07 18:53:26 -05:00
terrafrost
ee25c73a44
Three fixes
...
- Ingore white space in keys
- Handle negative numbers in the same way OpenSSL seems to handle them
- Fix signature verification (thanks Richard Odekerken!)
2012-09-29 14:32:27 -05:00
terrafrost
13eed6147a
Do CRYPT_DES_MODE_CBC instead of CRYPT_MODE_DES_CBC
2012-09-22 11:38:09 -05:00
terrafrost
6686e203e7
Reformat keys even if private key format is the same OpenSSL uses
...
As is private keys weren't being encrypted when a private key was being set and OpenSSL was being used.
Thanks TeigneuX!
2012-09-18 05:17:14 -05:00
terrafrost
26776b486e
Update a few comments
2012-09-03 01:42:50 -05:00
terrafrost
a3781bd172
Changing the public key format broke File_X509
2012-09-03 01:32:57 -05:00
terrafrost
2f8d1055ea
Use OpenSSL for Math_BigInteger::modPow speedups
...
Also, make Crypt_RSA's public keys compatible with OpenSSL and make it so __toString will return the key even when it's the public key that's loaded and it hasn't been set as the public key.
2012-08-26 01:36:34 -05:00
terrafrost
6c4fcd34d3
Misc fixes
...
- make it so '' is a legit password and doesn't unset the pw to pass bantu's unit tests (unit test could have been updated too but whatever)
- make it so not passing in any parameters to Crypt_RSA::setPassword() works without E_NOTICE or E_WARNING as per example in docs
- add missing phpdoc headers to File_ANSI
- cryan -> cyan in File_ANSI
2012-08-23 08:59:49 -05:00
terrafrost
6e1b79ba24
- add __toString magic method to Crypt_RSA
2012-07-26 13:14:18 -05:00
terrafrost
f292931aed
- make Net_SSH2 return more printer friendly server public host keys
2012-07-04 13:36:26 -05:00
terrafrost
1417463eba
- make Crypt_RSA use openssl for key generation (if openssl is available) and make it so File_X509 can create CSRs
2012-07-01 12:07:42 -05:00
terrafrost
f0e1b2deec
- add second function_exists call to prevent require_once from being called if autoloader was called
2012-06-27 20:56:36 -05:00
terrafrost
5eacf2b05d
- do class_exists(Crypt_Random) too to facilitate auto-loading
2012-06-24 16:53:16 -05:00
terrafrost
6ee991f604
Merge branch 'master' of https://github.com/phpseclib/phpseclib
2012-06-20 10:43:20 -05:00
terrafrost
1e3778dc4f
- auto loading fixes (thanks skydiablo)
2012-06-20 10:36:36 -05:00
terrafrost
dfe264594f
Merge pull request #9 from bantu/feature/consistent-file-endings
...
[feature/consistent-file-endings] Remove ?> and make sure there is an empty line at the end of files.
2012-06-16 21:06:15 -07:00
terrafrost
ccd2b6ae78
- PBKDF2 updates
2012-06-16 16:42:54 -05:00
Andreas Fischer
eb64dfef7d
[feature/consistent-file-endings] Make sure files have empty line at the end.
2012-06-11 10:34:07 +02:00
Andreas Fischer
5923f4ad68
[feature/consistent-file-endings] Remove remaining ?> from PHP files.
2012-06-11 10:33:39 +02:00
Rob Loach
7e9a975296
Add Composer support to phpseclib
2012-06-08 15:38:27 -04:00
Andreas Fischer
71dea1fc2b
[topic/40730] Use strlen() instead of count() in function _equals() of Crypt_RSA.
...
It appears that count() always returns int(1) on strings. Thus, this check is
pointless as is. strlen() was meant here and is actually required to prevent
E_NOTICEs from invalid array accesses using $y[$i].
2012-06-06 13:12:48 +02:00
Jim Wigginton
7f1c861c1a
- $this->mcrypt was removed in a commit from yesterday
...
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@222 21d32557-59b3-4da0-833f-c5933fad653e
2012-05-14 18:20:11 +00:00
Jim Wigginton
b39d2597dd
- if the algorithm is not supported upon mcrypt's initial initialization use the internal implementation
...
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@220 21d32557-59b3-4da0-833f-c5933fad653e
2012-05-14 01:21:21 +00:00
Jim Wigginton
5db0f88218
- add blinded rsa equality test (thanks singpolyma!)
...
- make validateSignature behave more like openssl_verify()
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@218 21d32557-59b3-4da0-833f-c5933fad653e
2012-05-05 23:57:30 +00:00
Jim Wigginton
6d60fa63e5
- make it so the following all do the same thing:
...
$pubKey = new Crypt_RSA();
$pubKey->loadKey($privKey->getPublicKey());
$pubKey->setPublicKey();
$pubKey = new Crypt_RSA();
$pubKey->loadKey($privKey->getPublicKey());
$pubKey->setPublicKey($privKey->getPublicKey());
$pubKey = new Crypt_RSA();
$pubKey->setPublicKey($privKey->getPublicKey());
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@211 21d32557-59b3-4da0-833f-c5933fad653e
2012-04-17 06:21:42 +00:00
Jim Wigginton
60340d5466
- make it so setPublicKey() can guess at the format like loadKey() can
...
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@204 21d32557-59b3-4da0-833f-c5933fad653e
2012-03-11 19:13:34 +00:00
Jim Wigginton
257b18501e
- make setHash non case sensitive (thanks e1ven!)
...
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@191 21d32557-59b3-4da0-833f-c5933fad653e
2011-12-14 13:36:31 +00:00