1
0
mirror of https://github.com/danog/tgseclib.git synced 2024-12-12 00:59:45 +01:00
Commit Graph

245 Commits

Author SHA1 Message Date
terrafrost
ad4c3670d3 Merge branch 'biginteger-revamp' 2016-01-16 22:59:19 -06:00
terrafrost
6abbbfdfe3 RSA: change default key size to 2048 2016-01-08 13:58:06 -06:00
terrafrost
f7efbcbc8e BigInteger: updates per Joey3000 2016-01-08 10:19:48 -06:00
terrafrost
c85b356b18 RSA: more updates per Joey3000 2016-01-07 22:26:10 -06:00
terrafrost
d5a359b41e RSA: updates per Joey3000 2016-01-03 13:03:58 -06:00
terrafrost
a0d21b6321 BigInteger: make select methods static, add type hinting, etc 2015-12-27 10:24:17 -06:00
terrafrost
806249c7e9 RSA: changes to how encryption / signatures work 2015-12-25 11:28:24 -06:00
terrafrost
1c9ee4ef28 RSA: fix PKCS8 key handling (again) 2015-12-07 23:53:09 -06:00
Andreas Fischer
466ad666b8 Merge branch '1.0' into 2.0
* 1.0:
2015-11-10 10:05:06 +01:00
terrafrost
c34be16c3a Merge branch 'rsa-pkcs8-fix' into rsa-pkcs8-fix-2.0
Conflicts:
	phpseclib/Crypt/RSA.php
2015-11-09 23:10:21 -06:00
terrafrost
7339112e10 RSA: fix issue with loading PKCS8 specific keys 2015-11-09 22:53:50 -06:00
terrafrost
7b1b7c22e2 RSA: throw an exception if the modulo is too small 2015-10-23 13:45:35 -05:00
terrafrost
1522e6606b RSA: add getSupportedFormats() and getLoadedFormat() 2015-10-22 10:57:05 -05:00
terrafrost
96dd14fd6f Merge branch 'extractber-fix' into extractber-fix-2.0
Conflicts:
	phpseclib/File/X509.php
2015-10-22 09:56:07 -05:00
terrafrost
46bb95a265 X509: improve base64-encoded detection rules 2015-10-22 09:45:40 -05:00
terrafrost
ad55d3cd75 RSA: fixes to last non-merge commit 2015-10-16 14:04:17 -05:00
terrafrost
a9705fdba7 Merge branch 'master' into rsa-plugins
Conflicts:
	phpseclib/Crypt/RSA.php
2015-10-16 10:01:18 -05:00
terrafrost
31c14063fa RSA: updates to raw plugin 2015-10-16 09:36:49 -05:00
terrafrost
8686ced6d3 Merge branch 'phpdoc-2.0' into phpdoc-master
Conflicts:
	phpseclib/Crypt/Hash.php
	phpseclib/Crypt/RSA.php
2015-10-12 21:37:44 -05:00
terrafrost
2b427eb02a fix merge issues 2015-10-12 14:21:22 -05:00
terrafrost
33ea01f1ac Merge branch 'phpdoc-1.0' into phpdoc-2.0
Conflicts:
	phpseclib/Crypt/AES.php
	phpseclib/Crypt/Base.php
	phpseclib/Crypt/Blowfish.php
	phpseclib/Crypt/DES.php
	phpseclib/Crypt/Hash.php
	phpseclib/Crypt/RC2.php
	phpseclib/Crypt/RC4.php
	phpseclib/Crypt/RSA.php
	phpseclib/Crypt/Rijndael.php
	phpseclib/Crypt/TripleDES.php
	phpseclib/Crypt/Twofish.php
	phpseclib/File/ASN1.php
	phpseclib/File/X509.php
	phpseclib/Math/BigInteger.php
	phpseclib/Net/SCP.php
	phpseclib/Net/SFTP.php
	phpseclib/Net/SSH1.php
	phpseclib/Net/SSH2.php
	phpseclib/System/SSH/Agent.php
2015-10-12 14:10:26 -05:00
terrafrost
2048a49aac use self:: in phpdoc comments to reduce merge conflicts 2015-10-11 12:22:07 -05:00
terrafrost
19229ed224 phpDoc changes 2015-10-05 13:22:51 -05:00
terrafrost
829ce9a3ec RSA: make it so plugin names are not case sensitive 2015-10-04 23:18:13 -05:00
terrafrost
cfcf554531 RSA: changes to putty plugin and rm comment methods from rsa etc 2015-10-01 23:11:55 -05:00
terrafrost
5bddb49c62 RSA: clean up merge 2015-10-01 16:02:28 -05:00
terrafrost
91887c957d Merge remote-tracking branch 'upstream/master' into rsa-plugins
Conflicts:
	phpseclib/Crypt/RSA.php
	phpseclib/Net/SSH2.php
2015-10-01 15:57:31 -05:00
terrafrost
ec3fe7277b RSA: move key format handling to plugins 2015-10-01 15:41:11 -05:00
Andreas Fischer
70f55bd156 Merge pull request #825 from terrafrost/rsa-revamp
RSA: make createKey static and make it return RSA objects

* terrafrost/rsa-revamp:
  RSA: make createKey static and make it return RSA objects
2015-09-25 13:16:56 +02:00
terrafrost
fab5a66fe5 RSA: make createKey static and make it return RSA objects 2015-09-24 09:43:19 -05:00
Andreas Fischer
ccd18552e5 Merge branch '2.0'
* 2.0:
  Fixed phpdoc

Conflicts:
	phpseclib/Crypt/Hash.php
2015-09-16 13:36:04 +02:00
Graham Campbell
7f1bbfe216 Fixed phpdoc 2015-09-14 16:30:31 +01:00
Andreas Fischer
3342eb6d09 Merge branch '2.0'
* 2.0:
  Fixed another case
  Minor tweaks
  Fixed error
  More fixes
  PHPDoc fixes
2015-09-14 01:27:11 +02:00
Andreas Fischer
4387b64426 Merge branch '1.0' into 2.0
* 1.0:
  Fixed another case
  Minor tweaks
  Fixed error
  More fixes
  PHPDoc fixes

Conflicts:
	phpseclib/Crypt/Random.php
	phpseclib/Math/BigInteger.php
	phpseclib/Net/SSH2.php
	tests/Functional/Net/SFTPUserStoryTest.php
2015-09-14 01:27:04 +02:00
Graham Campbell
eec8c9cb5d More fixes 2015-09-06 12:39:14 +01:00
Andreas Fischer
0deae03dca Merge branch '2.0'
* 2.0:
  Remove unnecessary parens
  Convert most instances of function_exists() to extension_loaded() where applicable
  Remove conditions for PHP < 5.3.0 for this branch
  Switch to extension_loaded('gmp')
  Switch to extension_loaded instead of function_exists where it makes sense
2015-09-04 15:05:50 +02:00
Andreas Fischer
864493bbf6 Merge pull request #790 from cweagans/switch-to-extension-loaded-2.0
Switch to extension loaded (2.0)

* cweagans/switch-to-extension-loaded-2.0:
  Remove conditions for PHP < 5.3.0 for this branch
  Switch to extension_loaded('gmp')
  Switch to extension_loaded instead of function_exists where it makes sense
2015-09-04 15:05:40 +02:00
Graham Campbell
7cd45e5e1b Fixed lots of phpdoc typos 2015-09-02 00:44:55 +01:00
Graham Campbell
2be0506514 Fixed invalid param phpdoc 2015-09-02 00:44:39 +01:00
Graham Campbell
634c1c2a18 Fixed lots of phpdoc typos 2015-09-02 00:42:15 +01:00
Graham Campbell
c08c099c56 Fixed invalid param phpdoc 2015-09-02 00:41:38 +01:00
Graham Campbell
cd0e10cf9d Fixed lots of phpdoc typos 2015-09-02 00:37:54 +01:00
Graham Campbell
5890f3da98 Fixed invalid param phpdoc 2015-09-02 00:22:30 +01:00
Cameron Eagans
78bac871af Remove conditions for PHP < 5.3.0 for this branch 2015-09-01 14:22:22 -04:00
Cameron Eagans
a84699a346 Switch to extension_loaded instead of function_exists where it makes sense 2015-09-01 14:22:12 -04:00
terrafrost
2a8da097ae Merge branch 'master' into exceptions-v1
Conflicts:
	phpseclib/Net/SSH2.php
2015-08-31 23:47:12 -05:00
terrafrost
453e6fcf18 RSA: some of the exceptions being thrown weren't valid 2015-08-31 22:44:41 -05:00
Andreas Fischer
54a1aeeefe Merge branch '1.0' into 2.0
* 1.0:
  Tests/RSA: add PSS test
  RSA: fix regression for PSS signatures
2015-08-13 14:37:15 -04:00
terrafrost
15c9f99721 RSA: fix regression for PSS signatures 2015-08-11 07:27:56 -05:00
terrafrost
ebe9301efa RSA: replace user_error's with Exceptions 2015-07-28 19:41:32 -05:00
Andreas Fischer
d9e9504fba Merge branch 'PSR2-1.0' into PSR2-2.0
* PSR2-1.0:
  Fix indentation phpcbf did not fix.
  Remove PSR2.Methods.FunctionCallSignature.SpaceAfterOpenBracket exception.
  Use phpcbf to fix PHP code to ruleset.
  Ignore coding guidelines in ANSI switch block.
  Base code sniffer ruleset on PSR2 rather than PEAR.
  Update PHP Code Sniffer to 2.3.3

Conflicts:
	build/code-sniffer-ruleset-tests.xml
	build/code-sniffer-ruleset.xml
	composer.lock
	phpseclib/Crypt/DES.php
	phpseclib/Crypt/Hash.php
	phpseclib/Crypt/RSA.php
	phpseclib/File/X509.php
	phpseclib/Math/BigInteger.php
	phpseclib/Net/SFTP.php
	phpseclib/Net/SSH1.php
	phpseclib/Net/SSH2.php
	tests/Functional/Net/SFTPUserStoryTest.php
	tests/Unit/Crypt/TwofishTest.php
2015-07-17 13:41:59 +02:00
Andreas Fischer
2013a31ecd Use phpcbf to fix PHP code to ruleset. 2015-07-17 12:57:41 +02:00
terrafrost
30260f3321 Merge branch 'rsa-none-1.0' into rsa-none-2.0
Conflicts:
	phpseclib/Crypt/RSA.php
2015-05-25 22:36:10 -05:00
terrafrost
1d924cfc7b RSA: add "none" encryption mode 2015-05-25 22:30:38 -05:00
terrafrost
4c4c8554a6 Merge branch '1.0' into 2.0
Conflicts:
	README.md
2015-05-07 08:19:02 -05:00
terrafrost
2fee2d4f98 backport e3betht's PR to 1.0 2015-05-07 00:26:39 -05:00
terrafrost
895caa706d Merge remote-tracking branch 'lukas/fingerprint' into rsa-fingerprint-2.0
Conflicts:
	phpseclib/Crypt/RSA.php
	tests/Unit/Crypt/RSA/LoadKeyTest.php
2015-05-06 23:06:07 -05:00
terrafrost
c1d47856c8 Merge branch 'rsa-fingerprint-1.0' into rsa-fingerprint-2.0 2015-05-06 23:02:12 -05:00
terrafrost
f19bf7a07d RSA: backport getPublicKeyFingerprint from Lukas-W's PR 2015-05-06 22:55:12 -05:00
Lukas W
10d88c9c17 RSA fingerprint: Fix missing md5 2015-05-06 08:27:15 +02:00
Lukas W
c46890b00c RSA fingerprint feature fix
Proper Hash usage, PHP 4 compatibility
2015-05-05 08:51:17 +02:00
Lukas W
a67f4df164 RSA: Add support for calculating a public key's fingerprint 2015-05-04 09:21:37 +02:00
terrafrost
d75f703c0a rm PHP v4 compatability claim 2015-04-02 05:57:52 -05:00
Andreas Fischer
04dad3ff8c Merge branch 'master' into php5
* master:
  Compare numeric part of OpenSSL version
2015-01-09 13:09:21 +01:00
Ha Phan
b0129e9125 Compare numeric part of OpenSSL version 2015-01-08 20:55:14 +07:00
Clint Nelissen
f3565346fa Replaced get_class() calls with instanceof operators 2014-12-24 13:07:14 -08:00
Clint Nelissen
fe742e18d7 Namespaced Crypt Package 2014-12-16 16:16:54 -08:00
Andreas Fischer
c4b103468c Merge pull request #549 from bantu/fix-547
Change copyright years from roman numeral to decimal numbers.

* bantu/fix-547:
  Change copyright years from roman numeral to decimal numbers.

Conflicts:
	phpseclib/System/SSH_Agent.php
2014-12-10 00:06:08 +01:00
Andreas Fischer
0efae5a91e Change copyright years from roman numeral to decimal numbers. 2014-12-10 00:04:08 +01:00
Clint Nelissen
0305a4827c Moved globally defined constants to class constants 2014-12-09 10:46:30 -08:00
Andreas Fischer
638e62d60a Remove LICENSE text from source code files. 2014-12-03 18:49:33 +01:00
Clint Nelissen
d6029bdb6a Removed includes for Random.php and fixed up user_error message 2014-12-02 09:34:15 -08:00
Clint Nelissen
f5ed86e385 Renamed Random::crypt_random_string to Random::string 2014-12-02 09:20:40 -08:00
Clint Nelissen
c70702afbb Namespaced Crypt\Random 2014-12-02 08:41:30 -08:00
Clint Nelissen
9c0c3faeb7 Initial commit 2014-12-01 18:54:44 -08:00
Andreas Fischer
5fa5a137dc Merge branch 'master' into php5
* master:
  RSA: syntax error in unit tests
  RSA: make unit tests perform string comparisons sans white space chars
  RSA: update unit test
  RSA: add unit test
  RSA: make XML keys use unsigned integers
2014-09-09 16:42:07 +02:00
terrafrost
c489852332 RSA: update unit test 2014-09-09 00:28:38 -05:00
terrafrost
713393c8ad RSA: make XML keys use unsigned integers
PKCS1 / PKCS8 keys need *signed* integers because of section 8.3.3
at http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf#page=7
2014-09-06 11:13:11 -05:00
Andreas Fischer
830667ce75 Merge branch 'master' into php5
* master:
  Replaced "case true:" with "default:"
  Error: "Constant CRYPT_RSA_MODE already defined"
2014-08-25 15:16:34 +02:00
Vitaliy Zaytsev
2ee0529c9d Replaced "case true:" with "default:" 2014-08-25 19:58:38 +07:00
Vitaliy Zaytsev
cf10e07660 Error: "Constant CRYPT_RSA_MODE already defined"
It happens if defined(MATH_BIGINTEGER_OPENSSL_DISABLE) && !function_exists('openssl_pkey_get_details')
2014-08-25 19:03:24 +07:00
Andreas Fischer
8ba3dd0846 Merge branch 'master' into php5
* master:
  Crypt/Base: readability improvement
  RSA: CS adjustments
  RSA: rename PUBLIC_FORMAT_PKCS1_RAW -> PUBLIC_FORMAT_PKCS8
  RSA: add PKCS8 unit tests
  RSA: add support for saving encrypted PKCS8 keys
  Crypt/Base: adjust default key size for pbkdf1
  RSA: add support for loading PKCS8 encrypted private keys
  Crypt/Base: add support for pbkdf1
  RSA: add support for saving to PKCS8 (unencrypted)
2014-06-17 00:36:54 +02:00
Andreas Fischer
67aedc240b Change constructors from class name to __construct().
This has been produced as follows:
<?php
$replace = $files = [];
$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($argv[1]));
foreach ($it as $fileinfo) {
    if ($fileinfo->getExtension() === 'php') {
        $file = $fileinfo->getPathname();
        $content = file_get_contents($file);
        $files[$file] = $content;
        $tokens = token_get_all($content);
        foreach ($tokens as $key => $value) {
            if ($value[0] === T_CLASS) {
                $class = $tokens[$key + 2][1];
                $replace += array(
                    "$class::$class(" => "$class::__construct(",
                    "parent::$class(" => "parent::__construct(",
                    "function $class(" => "function __construct(",
                );
            }
        }
    }
}
foreach ($files as $file => $content) {
    file_put_contents(
        $file,
        str_replace(
            array_keys($replace),
            array_values($replace),
            $content
        )
    );
}
2014-06-16 17:06:34 +02:00
terrafrost
d8b235141e RSA: CS adjustments 2014-06-13 13:17:37 -05:00
terrafrost
83301097ea RSA: rename PUBLIC_FORMAT_PKCS1_RAW -> PUBLIC_FORMAT_PKCS8
also make CRYPT_RSA_PUBLIC_FORMAT_PKCS8 the default format
2014-06-13 13:11:59 -05:00
terrafrost
4434d91f25 RSA: add support for saving encrypted PKCS8 keys 2014-06-13 11:43:32 -05:00
terrafrost
abae026264 RSA: add support for loading PKCS8 encrypted private keys 2014-06-13 08:56:00 -05:00
terrafrost
0a5e26a648 RSA: add support for saving to PKCS8 (unencrypted) 2014-06-12 22:03:00 -05:00
Andreas Fischer
76ac2a863d Merge branch 'master' into php5
* master:
  RSA: slight adjustment to CRYPT_RSA_PUBLIC_FORMAT_PKCS1_RAW format
2014-06-11 08:05:49 +02:00
terrafrost
72a0913d39 RSA: slight adjustment to CRYPT_RSA_PUBLIC_FORMAT_PKCS1_RAW format
CRYPT_RSA_PUBLIC_FORMAT_PKCS1_RAW and CRYPT_RSA_PUBLIC_FORMAT_PKCS1
produce two very similar looking keys but they are not the same.
As dissection OpenSSL's asn1parse would reveal CRYPT_RSA_PUBLIC_FORMAT_PKCS1
has the fact that it is an RSA key embedded within it whereas
CRYPT_RSA_PUBLIC_FORMAT_PKCS1_RAW does not. phpseclib now resolves
this ambiguity in the same way that OpenSSH's ssh-keygen does.

Despite this change CRYPT_RSA_PUBLIC_FORMAT_PKCS1_RAW is still incompatible
with OpenSSL's rsautl (CRYPT_RSA_PUBLIC_FORMAT_PKCS1 is compatible). I guess
this incompatibility isn't just due to the headers but is also due to the
overall structure of the format.
2014-06-10 22:16:59 -05:00
Andreas Fischer
2a9d7e5e03 Merge branch 'master' into php5
* master:
  X509: Unit test CS changes
  X509: move location of SPKAC unit test
  X509: CS adjustments
  X509: PHP4 compat changes
  RSA: PHP4 compat changes
  X509: rm trailing white space from unit test
  X509: add SPKAC unit test
  X509: add signSPKAC() and saveSPKAC() methods
2014-06-05 16:56:36 +02:00
terrafrost
daa466db94 Merge branch 'master' of https://github.com/phpseclib/phpseclib into spkac 2014-06-05 08:40:49 -05:00
terrafrost
af0040b813 RSA: PHP4 compat changes 2014-06-05 08:10:20 -05:00
Andreas Fischer
f2f5fcd70a Update users of Math_BigInteger. 2014-06-02 20:19:00 +02:00
Andreas Fischer
e6f87318f5 Adjust documentation to coding guidelines: No () around include. 2014-06-01 23:28:49 +02:00
Andreas Fischer
07e1f954de Merge pull request #325 from terrafrost/rsa-public-key
RSA: auto-detect public keys vs private keys

* terrafrost/rsa-public-key:
  RSA: update unit test file
  RSA: auto-detect public keys vs private keys
2014-06-01 22:17:38 +02:00
Andreas Fischer
c0bdf1bd90 CS: Fix "PEAR.Functions.FunctionCallSignature.Indent" sniff. 2014-04-24 00:26:02 +02:00
terrafrost
317efaf28a RSA: auto-detect public keys vs private keys 2014-04-17 10:30:32 -05:00
terrafrost
a8c2ff0fb0 add error suppression to phpinfo()
bad timezone settings can make phpinfo() throw errors so we'll just
suppress them. if there are legit non-timezone errors with php install
those will probably be hit in other parts of the code
2014-03-30 10:15:08 -05:00
Andreas Fischer
fb1296bbec Drop meaningless, outdated, inconsistent version tags in doc blocks.
find phpseclib -type f -name "*.php" -exec sed -i '/@version/d' {} \;
2014-03-11 15:58:33 +01:00