Commit Graph

591 Commits

Author SHA1 Message Date
terrafrost
6dc7b3e6b9 ASN1: class is never set as key in _decode_ber 2018-04-14 23:39:05 -05:00
terrafrost
12bd06210c
Merge pull request #1250 from luzpaz/misc-typos
Misc. trivial typos
2018-03-03 15:41:58 -06:00
terrafrost
e9bff8a4de X509: cs updates 2018-03-03 13:57:23 -06:00
terrafrost
1ee4167a03 Merge branch '2.0' 2018-03-03 13:44:36 -06:00
terrafrost
fc90c58f7f X509: update disable/enableURLFetch to work with 2.0 branch 2018-03-03 13:44:11 -06:00
terrafrost
e3a1e47824 Merge branch '1.0' into 2.0 2018-03-03 13:42:46 -06:00
terrafrost
ea47574317 X509: add methods to enable / disable URL fetching 2018-03-03 13:42:17 -06:00
terrafrost
6c4a108a92 Merge branch 'authority-info-access-2.0' into authority-info-access-master 2018-03-03 08:09:26 -06:00
terrafrost
40730d2977 X509: update intermediate cert changes to work on 2.0 branch 2018-03-03 07:46:03 -06:00
luz.paz
380517ef00 Misc. trivial typos
Found via `codespell -q 3`
2018-03-03 07:07:14 -05:00
terrafrost
87decbe94b Merge branch 'authority-info-access-1.0' into authority-info-access-2.0 2018-03-03 00:15:29 -06:00
terrafrost
f5807e1d4e X509: auto download intermediate certs 2018-03-02 12:53:15 -06:00
terrafrost
596d122a76 X509: code cleanup 2018-02-20 10:12:50 -06:00
terrafrost
55384afdac RSA: make it so you can't sign w/ public key, decrypt w/ private 2018-02-18 16:03:06 -06:00
terrafrost
fe71957c37 Merge branch '2.0' 2018-01-21 13:01:06 -06:00
terrafrost
c419f1121f Merge branch '1.0' into 2.0 2018-01-21 12:38:35 -06:00
terrafrost
8aecafc92f X509: fix 7.2 error when extensions were removed and new ones added 2018-01-21 12:36:49 -06:00
terrafrost
239a32ff06
Merge pull request #1222 from rrran/extract_func_phpdoc
Add PhpDoc @var for extract() functions
2017-12-23 14:18:28 -06:00
Sokolovskyy Roman
62ee1a5747 Multiline phpdoc for extract to one liner 2017-12-21 10:14:53 +01:00
terrafrost
a5ed1acbae Merge branch '2.0' 2017-12-14 06:34:43 -06:00
terrafrost
45d6d0aa70 Merge branch 'validation-1.0' into 2.0 2017-12-14 06:34:32 -06:00
terrafrost
36e9992508 X509: serial numbers are biginteger's 2017-12-14 06:22:55 -06:00
terrafrost
446652099a Merge branch 'validation-1.0' into 2.0 2017-12-13 19:50:37 -06:00
terrafrost
247e969366 X509: simplify revised validation logic and add to CRL validation 2017-12-13 19:36:55 -06:00
mdelikat
d9195ea5bd validateSignature if subjectKeyIdentifier is not set and check serial number if is set 2017-12-13 19:05:06 -06:00
Sokolovskyy Roman
c705e7d9c6 Add PhpDoc @var for extract() functions 2017-12-04 11:11:43 +01:00
terrafrost
1587c5498b Merge branch '1.0-travis-exp' into 2.0-travis-exp 2017-12-03 20:22:57 -06:00
terrafrost
703f7840db X509: use anonymous function in PHP >= 5.3.0 2017-12-03 15:55:58 -06:00
Sokolovskyy Roman
966ee7f170 Long array() to short [] syntax 2017-11-27 09:30:14 +01:00
Sokolovskyy Roman
ee8f5e9769 Get rid of func_get_args() 2017-11-21 09:36:28 +01:00
terrafrost
ec579bd9ed revisions to rrran's PHPDoc changes 2017-11-05 14:35:27 -06:00
terrafrost
10828543ce Merge remote-tracking branch 'rrran/Fixes3' 2017-11-05 13:16:03 -06:00
terrafrost
1041131bb1 Merge branch '2.0' 2017-11-05 11:53:59 -06:00
terrafrost
d218020747 Merge branch '1.0' into 2.0 2017-11-05 11:42:08 -06:00
terrafrost
ffcff461c4 X509: URL validation didn't work (#1203) 2017-11-05 11:36:41 -06:00
Sokolovskyy Roman
f40ea062c2 Lots of PHPDoc fixes 2017-10-25 11:44:14 +02:00
terrafrost
fabb42c20d Merge branch '2.0' 2017-09-30 22:56:43 +01:00
terrafrost
836d452acd Merge branch '1.0' into 2.0 2017-09-30 22:56:32 +01:00
terrafrost
6f47ef808e X509: fix issues when using datetime without a timezone set in ini 2017-09-30 22:54:33 +01:00
terrafrost
1f7d1bc18a Revert "date format fix"
This reverts commit 508f04fab8.
2017-09-30 22:50:24 +01:00
Sokolovskyy Roman
c6020a4c42 Unit tests fixes.
A PHPDoc fix
2017-09-14 09:42:37 +02:00
Sokolovskyy Roman
508f04fab8 date format fix 2017-09-11 13:33:43 +02:00
Sokolovskyy Roman
4f399d5c33 Merge remote-tracking branch 'origin/master' into Bugfixes2 2017-09-11 11:13:03 +02:00
terrafrost
f257fceabb Merge branch '2.0' 2017-08-28 23:32:19 -05:00
terrafrost
df1a650485 Merge branch '1.0' into 2.0 2017-08-28 23:31:51 -05:00
terrafrost
4b1102de7e X509: updates to DateTime integration 2017-08-28 23:29:03 -05:00
terrafrost
c43ebe3a0a Merge branch 'datetime-2.0' into datetime-master 2017-08-24 12:50:47 -05:00
terrafrost
221a9be8e6 Merge branch 'datetime-1.0' into datetime-2.0 2017-08-24 12:50:00 -05:00
terrafrost
09c17b1a31 ASN1 / X509: update to use DateTime instead of unix time 2017-08-24 12:48:15 -05:00
Sokolovskyy Roman
25c1ae6e00 Merge remote-tracking branch 'origin/master' into Bugfixes2 2017-08-09 12:28:02 +02:00
terrafrost
04fce0b39b Merge branch '2.0' 2017-08-08 22:04:59 -05:00
terrafrost
a4c79db37a Merge branch '1.0' into 2.0 2017-08-08 21:53:07 -05:00
terrafrost
5c792f6bc1 ANSI: fix E_NOTICE when overflowing text overflows screen vertical 2017-08-08 21:44:22 -05:00
terrafrost
3fcce89f78 Merge remote-tracking branch 'rrran/Bugfixes' 2017-08-07 21:47:06 -05:00
terrafrost
9f540a82e6 minor fixes to X509 and SSH2 2017-08-06 17:29:30 -05:00
terrafrost
0ac8b5d5ed ASN1: rm unused method (decodeLength) 2017-08-06 10:30:29 -05:00
Sokolovskyy Roman
55cacdf7cd More PHPDOC fixes 2017-08-04 12:06:25 +02:00
Sokolovskyy Roman
eb21fb2bcb Default value for a parameter missed 2017-08-03 11:25:20 +02:00
Sokolovskyy Roman
f48995ac96 Wrong class name fix
PHPDOC fixes
2017-08-03 09:13:44 +02:00
Sokolovskyy Roman
0c6d8607ce added missing use statement
PHPDOC fix
2017-08-03 09:12:56 +02:00
terrafrost
669a7542ea Merge branch '2.0' 2017-07-16 11:32:15 -05:00
terrafrost
de18148e80 Merge branch '1.0' into 2.0 2017-07-16 11:32:04 -05:00
terrafrost
84d1628cb7 ANSI: make it so x position can't be negative 2017-07-16 11:31:25 -05:00
terrafrost
baeb68eb82 Merge branch '2.0' 2017-05-14 08:50:57 -05:00
terrafrost
4b24877a2c Merge branch '1.0' into 2.0 2017-05-14 08:50:13 -05:00
terrafrost
19c71e4a98 X509: include subjectaltname extension even if only one domain name 2017-05-14 08:49:04 -05:00
Casper Langemeijer
4a0118bae6 Refactor create_function() into anonymous function 2017-04-17 15:35:00 +02:00
terrafrost
4058e3e217 Merge pull request #1090 from terrafrost/dsa-test-2
add DSA implementation
2017-04-15 15:49:04 -05:00
terrafrost
0a6fe37285 Merge branch '2.0' 2017-04-09 10:30:23 -05:00
terrafrost
f4ae2cf3d3 Merge branch '1.0' into 2.0 2017-04-09 10:23:20 -05:00
Moritz Fain
7fd1eefd66 Fixed ASN.1 UTCTime parsing 2017-04-09 10:15:40 -05:00
terrafrost
22bf2339d7 Merge branch '2.0' 2017-03-07 22:20:21 -06:00
terrafrost
52dcabb279 Merge pull request #1104 from metaclassing/fix-array-map-namespace
namespacing the array_map function
2017-03-07 21:50:41 -06:00
Metaclassing
42a7ff61ff namespacing the array_map function 2017-03-07 15:22:44 -06:00
terrafrost
42def63b00 Merge remote-tracking branch 'upstream/master' into dsa-test-2 2017-02-02 21:07:47 -05:00
terrafrost
eb459daeaf add DSA implementation 2017-02-02 20:20:47 -05:00
terrafrost
a25c841108 Merge remote-tracking branch 'upstream/master' into php5-updates 2017-01-17 22:40:24 -06:00
terrafrost
68b5a8896f Merge branch '2.0' 2016-12-24 20:06:51 -06:00
terrafrost
f74ba2c581 Merge branch '1.0' into 2.0 2016-12-24 19:49:30 -06:00
terrafrost
da6e5211df X509: ignore certificate transparency extension 2016-12-17 17:41:56 -06:00
terrafrost
242e0dcb7f Files: add public / protected / private 2016-12-11 08:23:59 -06:00
terrafrost
c852bae3c8 use short array syntax for arrays 2016-11-30 21:29:38 -06:00
terrafrost
7182ec393b make classes with only static methods abstract 2016-11-30 09:25:04 -06:00
terrafrost
a4d05f8445 ASN1: rm an alternative approach for dealing with ASN1\Element 2016-11-29 08:15:08 -06:00
terrafrost
4dc3b7ed43 ASN1: don't return false after exception is thrown 2016-11-28 22:40:55 -06:00
terrafrost
370fbec300 ASN1: don't require octet / bit strings be base64-encoded 2016-11-28 20:51:21 -06:00
terrafrost
874ada8d93 ASN1: make methods static 2016-11-27 22:38:11 -06:00
terrafrost
df6d55fd97 ASN1: move ASN1 maps to external files for reuse 2016-11-22 23:56:07 -06:00
terrafrost
863ff6789b RSA: refactor PKCS1/PKCS8 to facilitate re-use 2016-11-17 08:09:10 -06:00
terrafrost
c17a2604a0 Merge branch 'master-reorg' 2016-09-17 09:15:11 -07:00
terrafrost
845135f887 add PHP5-style constructors along side PHP4-style ones 2016-09-10 10:41:05 -07:00
terrafrost
5416b9eddc Merge branch '2.0' 2016-08-28 10:45:37 -05:00
terrafrost
281cfcdcea Merge branch '1.0' into 2.0 2016-08-28 10:45:04 -05:00
terrafrost
5c2ffd2544 ASN1: fix infinite loop during ASN1 decode process 2016-08-28 10:43:33 -05:00
terrafrost
676c1982c7 fix bad merge 2016-08-04 01:04:00 -05:00
klemens
dd23d91d41 spelling fixes 2016-08-04 00:47:52 -05:00
terrafrost
c547ee16c7 Merge branch '1.0' into 2.0 2016-08-04 00:31:15 -05:00
klemens
dca95ac662 spelling fixes 2016-08-04 00:19:27 -05:00
terrafrost
d64599f799 Move _encodeLength and _decodeLength to Common\Functions\ASN1.php 2016-07-31 09:37:13 -05:00
terrafrost
c509909004 Organizational Revamp
- rename \phpseclib\Crypt\Base to \phpseclib\Crypt\Common\SymmetricKey
- create BlockCipher and StreamCipher to extend SymmetricKey
- replace _string_shift with \phpseclib\Common\Functions\Strings::shift
2016-07-30 22:18:06 -05:00
terrafrost
a9bee37187 Merge branch '2.0' 2016-07-23 18:39:41 -05:00
terrafrost
dbdba0b7ef Merge branch '1.0' into 2.0 2016-07-23 18:16:52 -05:00
terrafrost
dc7f7e4d85 ASN1: fix PHP Warning on PHP 7.1 2016-07-23 11:01:43 -05:00
terrafrost
d31c89a8ae Merge branch '2.0' 2016-07-20 00:18:17 -05:00
terrafrost
6c0575f8db ASN1: update code to use 2.0-style constants 2016-07-20 00:17:24 -05:00
terrafrost
7eb0712a01 Merge branch '2.0' 2016-07-19 23:52:15 -05:00
terrafrost
485b8e0463 Merge branch '1.0' into 2.0 2016-07-19 23:52:09 -05:00
terrafrost
d525aa66f2 ASN1: adjust ordering of SET OF values 2016-07-19 23:48:23 -05:00
terrafrost
a490e06b48 Merge branch '2.0' 2016-06-26 20:43:33 -05:00
terrafrost
17a14eceb2 Merge branch '1.0' into 2.0 2016-06-26 20:34:15 -05:00
John Sterling
88ce26f8ca Improve performance of File\X509->_mapInExtensions() for large arrays
This avoids passing array references by-value to is_array()
(which would trigger a copy) by refactoring _subArray() into
a separate is_array() check on a by-value var, and a separate
unchecked reference return.
2016-06-26 19:44:48 -05:00
John Sterling
a1e16797ca Improve performance of File\ASN1->_decode_ber() for large data
This removes the use of _string_shift() which copies the (potentially large)
latter part of the input data repeatedly, in favor of maintaining a position var
and using string indexing or substr() to only copy the (relatively small)
current data as it is parsed.
2016-06-26 19:39:44 -05:00
terrafrost
5b464a169a Merge branch '2.0' 2016-06-19 10:54:43 -05:00
terrafrost
0121b45011 Merge branch '1.0' into 2.0 2016-06-19 10:53:45 -05:00
terrafrost
b6801c837c X509: set parameter fields to null for CSR's / RSA 2016-06-19 10:53:20 -05:00
terrafrost
f815e43077 Merge branch '2.0' 2016-06-12 14:19:56 -05:00
terrafrost
a2e77a7728 Merge branch 'x509-constructed-dns-2.0' into 2.0 2016-06-12 14:19:39 -05:00
Dennis Birkholz
18200131df Change default signature algorithm from SHA1 to SHA256 2016-06-05 18:09:00 +02:00
Paragon Initiative Enterprises
0e8fa93676 Use paragonie/constant_time_encoding 2016-05-12 16:28:40 -04:00
terrafrost
c784d9e1e5 reapply PR #931 2016-05-08 01:34:37 -05:00
terrafrost
305dc1967a Tests/X509: fix bad merge 2016-05-04 00:16:08 -05:00
terrafrost
538b48c346 Merge branch 'x509-constructed-dns' into x509-constructed-dns-2.0 2016-05-03 20:06:48 -05:00
terrafrost
52a7aee1f5 X509: add support for constructed DNs and non-strict DN checks 2016-05-03 18:22:53 -05:00
terrafrost
398a795e1f Revert "undo merging of master to 2.0 branch"
This reverts commit 8fb4c3363d.
2016-04-30 16:23:35 -05:00
terrafrost
8fb4c3363d undo merging of master to 2.0 branch 2016-04-28 15:34:10 -05:00
terrafrost
b4cf10fc94 Revert "Merge branch '2.0'"
This reverts commit be5f4ef6b19c82f6c898708cc8e1828b05e3d4e8, reversing
changes made to 638fe6971c.
2016-04-10 11:30:59 -05:00
terrafrost
4b69dcb1ca Revert "Merge remote-tracking branch 'bantu/bootstrap'"
This reverts commit ef04c870e9, reversing
changes made to cd57bf31ae.
2016-04-10 11:25:31 -05:00
terrafrost
b69fa7f2a9 Merge branch '2.0' 2016-02-07 11:54:16 -06:00
metaclassing
4735751bf5 Switched out pack/unpack and ip2long/long2ip with inet_pton/ntop for ipv6 encoding support in x509v3 subject alternative names 2016-01-26 17:23:14 -06:00
Joey3000
bdc28b9453 Cherry-picking cleanup of use operator usage
Picked c9a80ff748 to the 2.0 branch and resolved conflicts.
2016-01-21 19:41:41 +01:00
Joey3000
c9a80ff748 Cleanup of use operator usage
This does the following:

1. Removes superfluous usage of the `use` operator. Specifically, that operator is not needed to use classes in the same `namespace` as the object (see https://secure.php.net/manual/en/language.namespaces.rules.php).

2. While at it, also sorted the `use` operators alphabetically, for a better overview.
2016-01-18 05:05:31 +01:00
terrafrost
806249c7e9 RSA: changes to how encryption / signatures work 2015-12-25 11:28:24 -06:00
terrafrost
b86497d298 Merge branch '2.0' 2015-12-14 11:02:14 -06:00
terrafrost
8448f63d76 Merge branch '1.0' into 2.0 2015-12-14 11:01:51 -06:00
terrafrost
041ece8b6c Merge branch 'identifier-update-1.0' into 2.0
Conflicts:
	phpseclib/Net/SSH2.php
2015-12-05 10:30:08 -06:00
terrafrost
37535744b2 small tweaks 2015-11-21 22:55:20 -05:00
terrafrost
efe36d67ce Merge branch 'master' into rsa-plugins
Conflicts:
	phpseclib/Crypt/RSA.php
2015-10-22 10:16:52 -05:00
terrafrost
33bf6e42c3 Merge branch '2.0' 2015-10-22 10:14:50 -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
a9705fdba7 Merge branch 'master' into rsa-plugins
Conflicts:
	phpseclib/Crypt/RSA.php
2015-10-16 10:01:18 -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
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
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
010c1285ba Fixed another case 2015-09-06 23:05:41 +01:00
Graham Campbell
06a1d3d981 Fixed error 2015-09-06 22:19:34 +01:00
Graham Campbell
dd031a1702 PHPDoc fixes 2015-09-06 12:28:08 +01:00
Andreas Fischer
ed6f754137 Merge pull request #803 from GrahamForks/phpdoc
[3.0] PHPDoc Fixes

* GrahamForks/phpdoc:
  Fixed lots of phpdoc typos
  Fixed invalid param phpdoc
2015-09-02 20:49:05 +02:00
Andreas Fischer
40927a4033 Merge pull request #802 from GrahamForks/2.0-phpdoc
[2.0] PHPDoc Fixes

* GrahamForks/2.0-phpdoc:
  Fixed lots of phpdoc typos
  Fixed invalid param phpdoc
2015-09-02 20:47:45 +02:00
Andreas Fischer
e1bd0dfaf5 Merge pull request #801 from GrahamForks/1.0-phpdoc
[1.0] PHPDoc Fixes

* GrahamForks/1.0-phpdoc:
  Fixed lots of phpdoc typos
  Fixed invalid param phpdoc
2015-09-02 20:43:38 +02:00
Andreas Fischer
19d93fe76c Merge branch '2.0'
* 2.0:
  X509: updates to getOID() as suggested by bantu
  X509: add getOID() method
2015-09-02 15:06:40 +02:00
Andreas Fischer
9fbc0358bb Merge branch '1.0' into 2.0
* 1.0:
  X509: updates to getOID() as suggested by bantu
  X509: add getOID() method
2015-09-02 15:06:35 +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
terrafrost
2a8da097ae Merge branch 'master' into exceptions-v1
Conflicts:
	phpseclib/Net/SSH2.php
2015-08-31 23:47:12 -05:00
terrafrost
abbee318cc X509: updates to getOID() as suggested by bantu 2015-08-31 15:20:38 -05:00
terrafrost
d7d9d782b0 X509: add getOID() method 2015-08-29 22:15:04 -05:00
terrafrost
80d84d1009 ASN1/X509: throw exceptions instead of user_errors 2015-07-30 07:33:19 -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
Andreas Fischer
6c76df46d4 Ignore coding guidelines in ANSI switch block. 2015-07-17 12:57:05 +02:00
terrafrost
365c687f04 Merge branch 'x509-serialnumber-1.0' into x509-serialnumber-2.0
Conflicts:
	phpseclib/File/X509.php
2015-07-17 00:53:45 -05:00
terrafrost
0d3a117608 X509: add a comment to explain the bitmask 2015-07-17 00:45:20 -05:00
terrafrost
ee619e8f47 Merge branch 'x509-serialnumber-1.0' into x509-serialnumber-2.0
Conflicts:
	phpseclib/File/X509.php
2015-07-16 11:53:15 -05:00
terrafrost
693804e62a X509: move where Crypt/Random loading is done 2015-07-16 11:50:22 -05:00
terrafrost
374f8db2e3 X509: use a random serial number 2015-07-16 11:31:20 -05:00
Andreas Fischer
483c253879 Merge branch '1.0' into 2.0
* 1.0:
  X509: set one more parameter to null
  X509: set another parameters field to null
2015-06-30 12:27:06 +02:00
terrafrost
77c757d095 X509: set one more parameter to null 2015-06-29 22:10:18 -05:00
terrafrost
6c2798be90 X509: set another parameters field to null 2015-06-29 21:53:27 -05:00
terrafrost
815f443ed1 Merge branch 'x509-rsa-null-1.0' into x509-rsa-null-2.0-2
Conflicts:
	tests/Unit/File/X509/X509Test.php
2015-06-28 16:10:40 -05:00
terrafrost
46a3c0fbbb X509: set parameter field to null for RSA keys 2015-06-28 11:32:42 -05:00
Andreas Fischer
ecdd97f8a8 Merge pull request #702 from terrafrost/asn1-fix-2.0
ASN1 parsing fix for issue mainly effecting CSR's for 2.0 branch

* terrafrost/asn1-fix-2.0:
  Tests/X509: PHP5 adjustments
  ASN1: handle malformed input better
  Tests/X509/CSR: add unit test for ASN1 changes
  ASN1: constructed context-specific tags can have x sub elements
2015-06-16 16:30:46 +02:00
Andreas Fischer
a79b4ac6ad Merge pull request #699 from terrafrost/asn1-fix-1.0
ASN1 parsing fix for issue mainly effecting CSR's for 1.0 branch

* terrafrost/asn1-fix-1.0:
  ASN1: handle malformed input better
  Tests/X509/CSR: add unit test for ASN1 changes
  ASN1: constructed context-specific tags can have x sub elements
2015-06-16 16:30:35 +02:00
terrafrost
22b10c6a3a Merge branch 'asn1-fix-1.0' into asn1-fix-2.0 2015-06-07 10:24:11 -05:00
terrafrost
11000a93b9 ASN1: handle malformed input better 2015-06-07 09:59:13 -05:00
terrafrost
d3a5398fe4 ASN1: constructed context-specific tags can have x sub elements
previously it only worked for when there was one sub element.
2015-06-03 23:48:43 -05:00
terrafrost
649d469c1c ANSI: use default namespace for stdClass 2015-05-23 21:01:45 -05:00
terrafrost
6c345acc1d ANSI: PHP5 updates 2015-05-23 18:23:40 -05:00
terrafrost
e4fee53c93 Merge branch 'ansi-updates-1.0' into ansi-updates-2.0 2015-05-23 18:18:22 -05:00
terrafrost
48191bdeec ANSI: fix typo 2015-05-23 17:39:17 -05:00
terrafrost
2bb70a1c22 ANSI: rendering improvements 2015-05-23 16:51:57 -05:00
terrafrost
cc0420b36b ANSI: improve vt100 terminal emulation
store each coordinate's attributes independently and add support
for a few more escape codes
2015-05-23 11:55:03 -05:00
Andreas Fischer
661f3ce3b9 Merge branch '1.0' into 2.0
* 1.0:
  Replace ; with : in case statement.

Conflicts:
	phpseclib/Net/SFTP.php
	phpseclib/Net/SSH2.php
2015-05-03 14:13:56 +02:00
Andreas Fischer
5d2590feb0 Replace ; with : in case statement. 2015-05-03 13:18:23 +02:00
terrafrost
d75f703c0a rm PHP v4 compatability claim 2015-04-02 05:57:52 -05:00
Andreas Fischer
f57e01df65 Merge branch '1.0' into 2.0
* 1.0:
  Tests/X509: add unit test
  X509: make it so you can use File_ASN1_Element for custom X.509 extensions
2015-03-10 13:46:15 +01:00
terrafrost
7ac2470c98 Merge branch '1.0' of https://github.com/phpseclib/phpseclib into x509-custom-extensions 2015-03-09 01:38:33 -05:00
Andreas Fischer
63ed03b119 Merge branch '1.0' into 2.0
* 1.0:
  Tests/X509: swap expected and actual value
  Tests/X509: fix unit test
  Tests/X509: add unit test for unsupported extension encoding
  X509: always base64-encode extensions for which _getMapping returns a bool
2015-03-05 15:37:46 +01:00
terrafrost
e686c095b6 X509: always base64-encode extensions for which _getMapping returns a bool 2015-03-01 12:05:49 -06:00
terrafrost
7e2dd90140 X509: make it so you can use File_ASN1_Element for custom X.509 extensions 2015-03-01 11:57:36 -06:00
Andreas Fischer
38e6196127 Merge branch 'master' into php5
* master:
  ASN1: empty constructed context-specific tags error'd out

Conflicts:
	phpseclib/File/ASN1.php
2015-01-11 16:09:50 +01:00
terrafrost
84325d415e ASN1: empty constructed context-specific tags error'd out
eg. an attributes field in a CSR that's blank
2015-01-10 23:58:50 -06: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
Clint Nelissen
628949fb73 Namespaced classes 2014-12-15 14:29:20 -08:00
Andreas Fischer
3f912eed59 Merge pull request #554 from cnelissen/NamespaceFilePackage
Namespace file package

* cnelissen/NamespaceFilePackage:
  Namespaced classes
2014-12-12 17:55:44 +01:00
Clint Nelissen
cea5e317b6 Namespaced classes 2014-12-09 16:53:05 -08:00
Andreas Fischer
36999bd25a Change copyright years from roman numeral to decimal numbers for php5. 2014-12-10 00:07:46 +01: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
Clint Nelissen
e8c93d8cfe Docblock fix 2014-12-04 08:30:07 -08:00
Clint Nelissen
a9925941b0 Moved global constants into class constants and updated all references 2014-12-03 18:20:10 -08:00
Andreas Fischer
638e62d60a Remove LICENSE text from source code files. 2014-12-03 18:49:33 +01:00
Andreas Fischer
dbbc21cb64 Merge pull request #510 from cnelissen/FixFileAsn1Classes
Split File_ASN1 and File_ASN1_Element into separate files

* cnelissen/FixFileAsn1Classes:
  Code sniffer php version fix
  Removed duplicated docblock text
  Codesniff fix
  Split File_ASN1 and File_ASN1_Element into separate files
2014-12-03 18:38:23 +01:00
Clint Nelissen
9bb9f54773 Code sniffer php version fix 2014-12-03 08:57:41 -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
7fe4007053 Removed duplicated docblock text 2014-12-02 08:17:53 -08:00
Clint Nelissen
3129faf05d Codesniff fix 2014-12-01 19:28:02 -08:00
Clint Nelissen
feca21da2b Split File_ASN1 and File_ASN1_Element into separate files 2014-12-01 19:26:52 -08:00
Clint Nelissen
9c0c3faeb7 Initial commit 2014-12-01 18:54:44 -08:00
Andreas Fischer
eff5f64560 Merge branch 'master' into php5
* master:
  ASN1: fix unit test
  ASN1: add unit test for non-constructed context-specific change
  ASN1: fix issue with non-constructed context-specific tags
  README: update download link to 0.3.8
2014-09-24 16:50:12 +02:00
terrafrost
a2f4a2cbba ASN1: add unit test for non-constructed context-specific change 2014-09-22 23:03:06 -05:00
terrafrost
c6ad2b69ba ASN1: fix issue with non-constructed context-specific tags 2014-09-22 01:01:34 -05:00
Andreas Fischer
6cb0528d6e Merge branch 'master' into php5
* master:
  ASN1: one more unit test change
  ASN1: another unit test update
  ASN1: unit test adjustments
  ASN1: cs adjustments to unit test
  ASN1: add unit tests for indefinite length decoding
  ASN1: CS adjustment (rm whitespace at eol)
  ASN1: rewrite _decode_der

Conflicts:
	phpseclib/File/ASN1.php
2014-09-04 22:22:16 +02:00
terrafrost
3bb123c3d5 ASN1: CS adjustment (rm whitespace at eol) 2014-08-30 19:44:12 -05:00
terrafrost
e258e001fa ASN1: rewrite _decode_der
this rewrite makes phpseclib better able to handle indef lengths,
which had previously been untested.
2014-08-25 10:12:56 -05: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
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
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
b217994534 Add missing use BigInteger statement to X509. 2014-06-05 17:08:36 +02: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
b1ad911d20 X509: CS adjustments 2014-06-05 08:33:27 -05:00
terrafrost
aabc5cf822 X509: PHP4 compat changes 2014-06-05 08:10:52 -05:00
terrafrost
dce03bb003 X509: add signSPKAC() and saveSPKAC() methods 2014-06-03 23:44:09 -05:00
Andreas Fischer
a643e5bfb5 Correct the remaining case by using instanceof. 2014-06-02 20:24:25 +02:00
Andreas Fischer
f2f5fcd70a Update users of Math_BigInteger. 2014-06-02 20:19:00 +02:00
terrafrost
1b9c599476 ASN1: let strings in as well 2014-05-05 17:38:33 -05:00
terrafrost
7a9ea673ca ASN1: make File_ASN1 accept int primitives and not just Math_BigInteger objects when an integer is expected
The code to convert the regular integer type into the appropriate format could all just be in-line'd when an integer primitive is used but this approach is easier to read.
2014-05-05 16:39:35 -05:00
terrafrost
10be403aff ASN1: CS update 2014-04-12 12:01:04 -05:00
terrafrost
61cd5e4f5a ASN1: make developing new ASN.1 scripts a little easier 2014-04-10 13:49:28 -05:00
terrafrost
c8bf68ac02 ASN1: make it so bit string's can have an optional minimum size 2014-04-05 18:07:35 -05:00
terrafrost
a478b74860 ASN1: explicit application tags didn't work (although implicit ones did) 2014-03-30 01:11:47 -05:00
terrafrost
dfa583b9ea X509: Array -> array (CS consistency) 2014-03-29 15:26:50 -05:00
Michael Braun
457f8fbb99 fix certificate date encoding
RFC 3280 requires in section
 - 4.1.2.5 Validity
 - 5.1.2.4 This Update
 - 5.1.2.5 Next Update
 - 5.1.2.6 Revoked Certificates
that dates are to be encoded as utcTime iff they are before 2050 and
as generalTime otherwise.

Currently, phpseclib does not respect this by always choosing generalTime.
Further, the format used interally to represent dates only keeps two digits,
so dates in 2050 and later cannot be represented in this format.

This patch fixes this by
 1. changing the interal format to be capable of unambiguously representing
    dates in 2050 or later (i.e. use four digits to represent the year),
 2. choosing between utcTime and generalTime accordingly.

Without this patch, openssl_x509_parse complains:
 Warning: openssl_x509_parse(): illegal ASN1 data type for timestamp
2014-03-28 15:02:50 +01:00