1
0
mirror of https://github.com/danog/tgseclib.git synced 2024-12-11 16:49:41 +01:00
Commit Graph

119 Commits

Author SHA1 Message Date
Hans-Jürgen Petrich
b242259d17 optimizations 2013-05-13 12:41:52 +07:00
John Sterling
c1244805cf Add support for custom RSA key comments.
Add ivar and set/getComment() instead of constant. Also parse comment from applicable formats in loadKey().
2013-05-05 19:38:34 -04:00
terrafrost
700d28f642 RSA: apply terite's changes to RSA.php too 2013-04-08 01:04:52 -05:00
terrafrost
c5bd12dd14 RSA: Add CRYPT_RSA_PKCS15_COMPAT mode 2013-03-23 14:13:24 -05:00
terrafrost
11a6b1a1af RSA: only use OpenSSL if openssl.cnf file exists 2013-03-21 10:43:27 -05:00
terrafrost
eb860d275e RSA: Add support for AES-256-CBC 2013-02-27 20:00:20 -06:00
Patrick Monnerat
90ff746ad1 Make all sources 7-bit ASCII. 2013-02-20 19:25:47 +01:00
terrafrost
248e3bb085 Undo last commit 2013-01-30 08:37:50 -06:00
terrafrost
bfb04dcf4d Add __construct() constructor to make namespace'ing easier for those wishing to do it 2013-01-29 22:09:31 -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
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
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
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
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
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
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
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
bc1c12357d - CRYPT_RSA_PUBLIC_FORMAT_XML didn't work correctly
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@184 21d32557-59b3-4da0-833f-c5933fad653e
2011-11-07 08:25:59 +00:00
Jim Wigginton
cfcf20cce5 - add the ability to save newly created keys in the XML and PuTTY formats
- add the ability to save private keys that have already been loaded

git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@182 21d32557-59b3-4da0-833f-c5933fad653e
2011-11-07 01:35:12 +00:00
Jim Wigginton
2676ca1d91 - 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
2011-08-17 00:12:42 +00:00
Jim Wigginton
a5d702346a - improved handling of malformed RSA keys: part II
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@172 21d32557-59b3-4da0-833f-c5933fad653e
2011-07-11 00:37:46 +00:00
Jim Wigginton
d4a3d61ff5 - improved handling of malformed RSA keys (thanks scope_v24!)
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@171 21d32557-59b3-4da0-833f-c5933fad653e
2011-07-11 00:02:53 +00:00
Jim Wigginton
737ea2c9e9 - add support for a new type of key format (thanks spotweb2!)
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@159 21d32557-59b3-4da0-833f-c5933fad653e
2011-05-28 16:23:15 +00:00
Jim Wigginton
392d96445e - add support for PuTTY and XML formatted RSA keys
- remove ?>'s from PHP_Compat files
- update LICENSE block
- make it so NET_SSH2_MSG_USERAUTH_PK_OK records direction and time

git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@152 21d32557-59b3-4da0-833f-c5933fad653e
2011-04-18 12:17:40 +00:00
Jim Wigginton
06e8afb418 - fixed a bug that could prevent _emsa_pss_verify from working in rare circumstances (thanks Lesque!)
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@148 21d32557-59b3-4da0-833f-c5933fad653e
2011-03-19 03:32:22 +00:00
Jim Wigginton
a4d39a9e66 - array_slice() reindexes the array so we'll use array_pop() instead
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@143 21d32557-59b3-4da0-833f-c5933fad653e
2011-02-06 16:35:48 +00:00
Jim Wigginton
80bf62d6fc - fix issues with partially generated RSA keys (thanks, Ben!)
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@141 21d32557-59b3-4da0-833f-c5933fad653e
2011-02-06 00:04:07 +00:00
Jim Wigginton
a31d9ba38d - rm debug code
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@131 21d32557-59b3-4da0-833f-c5933fad653e
2010-11-20 02:13:39 +00:00
Jim Wigginton
b94a467999 - change license to the less restrictive MIT license (if people want to modify phpseclib and distribute binaries of it [whatever that means for PHP] without including the source code I don't care); two of the three PHP_Compat stuff still uses the LGPL since I didn't author them but they're only needed, anyway, if you're using phpseclib on PHP4.
- add svn:eol-style: LF to all files
- fixed pear.php.net bug # 18037 (thanks, nounours!)

git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@130 21d32557-59b3-4da0-833f-c5933fad653e
2010-11-13 19:28:20 +00:00
Jim Wigginton
76655b8bf9 - CFB mode is now supported as a stream cipher
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@122 21d32557-59b3-4da0-833f-c5933fad653e
2010-09-26 03:10:20 +00:00
Jim Wigginton
202c3b64e9 - added support for OFB and CFB modes (with the caveat that CFB mode isn't currently supported as a stream cipher)
- improvements to the fix to the bug Suby found
- fixed bug whereby CTR mode gave different results in mcrypt and internal modes when the continuous buffer was enabled and the plaintext being encrypted wasn't a multiple of the block size
- undid the fix for the bug f.dammassa found (thanks, j31!)


git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@120 21d32557-59b3-4da0-833f-c5933fad653e
2010-09-12 21:58:54 +00:00
Jim Wigginton
b3690e0fde - added support for AES-128-CBC encrypted private keys (ie. the default format of OpenSSH 5.4+)
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@119 21d32557-59b3-4da0-833f-c5933fad653e
2010-09-05 03:04:29 +00:00
Jim Wigginton
3ef15724be - undo last commit - if you want to load a public key use loadKey(). it's called loadKey() and not loadPublicKey() for a reason. and while you're at it reread the documentation. i do have to concede, though... i should have read my own documentation before making the last commit.
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@112 21d32557-59b3-4da0-833f-c5933fad653e
2010-07-11 02:33:13 +00:00
Jim Wigginton
dff1ab92d6 - fixed bug in setPublicKey function (thanks nicklong!)
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@110 21d32557-59b3-4da0-833f-c5933fad653e
2010-06-19 12:01:21 +00:00
Jim Wigginton
7fd48f8e72 - compatability adjustments for interoperability with strictly PKCS#1 v1.5 compliant RSA implementations
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@102 21d32557-59b3-4da0-833f-c5933fad653e
2010-04-10 15:57:02 +00:00
Jim Wigginton
1539cd4a01 - the triple equals in Math_BigIinteger::equals() made it so float(1) != int(1), so all instances where float(1) might occur have been removed
- Crypt_RSA::_blind() should now be faster.


git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@95 21d32557-59b3-4da0-833f-c5933fad653e
2010-03-01 17:28:19 +00:00
Jim Wigginton
c0b0886762 - use crypt_random for RSA blinding
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@94 21d32557-59b3-4da0-833f-c5933fad653e
2010-02-28 06:57:00 +00:00
Jim Wigginton
695207246a - fixed a bug that prevented multi-prime RSA keys from loading
- slightly refactored Random.php
- implemented RSA blinding


git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@93 21d32557-59b3-4da0-833f-c5933fad653e
2010-02-28 05:28:38 +00:00
Jim Wigginton
748983a824 - speed up BigInteger.php
- added support for more public / private key formats (thanks, m4rc!)


git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@91 21d32557-59b3-4da0-833f-c5933fad653e
2010-02-26 03:40:26 +00:00
Jim Wigginton
f96700960a - fixed an E_NOTICE error (thanks bietchetlien!)
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@81 21d32557-59b3-4da0-833f-c5933fad653e
2010-01-29 06:21:16 +00:00
Jim Wigginton
1e8a295994 - defined $this->mgfHLen
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@79 21d32557-59b3-4da0-833f-c5933fad653e
2010-01-25 07:42:45 +00:00
Jim Wigginton
a8f0567527 - sped up Math_BigInteger
- fixed a bug whereby partial RSA keys didn't function properly (thanks, CountZero!)
- fixed a bug that prevented setPrecision from working correctly with non multiples of eight
- fixed a few E_NOTICEs


git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@76 21d32557-59b3-4da0-833f-c5933fad653e
2010-01-21 00:52:11 +00:00
Jim Wigginton
e16ba96789 - fixed a few E_NOTICE errors
- sped up Math_BigInteger::_barrett()


git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@73 21d32557-59b3-4da0-833f-c5933fad653e
2009-12-31 06:11:07 +00:00
Jim Wigginton
8379f46a77 _mgf1() shouldn't be using $this->hLen
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@69 21d32557-59b3-4da0-833f-c5933fad653e
2009-12-08 14:18:59 +00:00
Jim Wigginton
315dec9dc5 - loadKey returns false on failure and true on success (thanks, seriksen!)
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@68 21d32557-59b3-4da0-833f-c5933fad653e
2009-12-07 23:22:05 +00:00
Jim Wigginton
9bd3c793d3 - an inability to unpad doesn't necessarily mean that padding is enabled when it shouldn't be - it might also mean that the key being used is the wrong one.
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@67 21d32557-59b3-4da0-833f-c5933fad653e
2009-12-06 07:26:52 +00:00
Jim Wigginton
793a355862 typo
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@66 21d32557-59b3-4da0-833f-c5933fad653e
2009-12-04 21:05:32 +00:00
Jim Wigginton
a7a41ff610 $this->publicKey -> $this->publicExponent
git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@65 21d32557-59b3-4da0-833f-c5933fad653e
2009-12-04 20:50:21 +00:00
Jim Wigginton
a882a3a41f - added Crypt_RSA
- added RSA public key authentication to Net_SSH2


git-svn-id: http://phpseclib.svn.sourceforge.net/svnroot/phpseclib/trunk@62 21d32557-59b3-4da0-833f-c5933fad653e
2009-12-03 08:19:00 +00:00