PHP Secure Communications Library
Go to file
terrafrost e432117c2b fix PHP 8.4 deprecations
phpseclib 3.0 works on PHP 5.6+. changing this for the 3.0 branch
would be a BC break so that's not happening.

the problem is that PHP 8.4 deprecated implicitly nullable parameter
types [1] in favor of the ?T syntax, which wasn't introduced until
PHP 7.1. if phpseclib 3.0 ups the minimimally required PHP version
to PHP 5.6 it's breaking BC so we'll just remove the type hinting
to make it a non issue. the master branch (which will eventually
someday become phpseclib 4.0) will still support type hinting

[1] https://wiki.php.net/rfc/deprecate-implicitly-nullable-types
2024-11-28 19:28:11 -06:00
.github Merge branch '2.0' into 3.0 2024-11-22 18:09:25 -06:00
build GitHub actions 2022-03-08 06:08:01 -06:00
phpseclib fix PHP 8.4 deprecations 2024-11-28 19:28:11 -06:00
tests Tests: new CSR encoding broke another unit test 2024-09-30 05:00:58 -05:00
.gitattributes Update .gitattributes 2022-04-10 09:32:45 -05:00
.gitignore Clean Up Tests 2022-03-15 18:49:38 -05:00
AUTHORS AUTHORS: add hc-jworman 2022-06-03 08:20:47 -05:00
BACKERS.md BACKERS: add ssddanbrown - thanks!! 2024-10-26 08:52:56 -05:00
CHANGELOG.md Merge branch '2.0' into 3.0 2024-09-25 18:03:15 -05:00
composer.json Allow paragonie/constant_time_encoding version 3 2024-05-13 23:15:45 -05:00
LICENSE update copyright years on license 2019-07-02 06:42:17 -05:00
README.md Merge branch '2.0' into 3.0 2024-02-25 23:12:56 -06:00

phpseclib - PHP Secure Communications Library

CI Status

Supporting phpseclib

Introduction

MIT-licensed pure-PHP implementations of the following:

SSH-2, SFTP, X.509, an arbitrary-precision integer arithmetic library, Ed25519 / Ed449 / Curve25519 / Curve449, ECDSA / ECDH (with support for 66 curves), RSA (PKCS#1 v2.2 compliant), DSA / DH, DES / 3DES / RC4 / Rijndael / AES / Blowfish / Twofish / Salsa20 / ChaCha20, GCM / Poly1305

Documentation

Branches

master

  • Development Branch
  • Unstable API
  • Do not use in production

3.0

  • Long term support (LTS) release
  • Major expansion of cryptographic primitives
  • Minimum PHP version: 5.6.1
  • PSR-4 autoloading with namespace rooted at \phpseclib3
  • Install via Composer: composer require phpseclib/phpseclib:~3.0

2.0

  • Long term support (LTS) release
  • Modernized version of 1.0
  • Minimum PHP version: 5.3.3
  • PSR-4 autoloading with namespace rooted at \phpseclib
  • Install via Composer: composer require phpseclib/phpseclib:~2.0

1.0

  • Long term support (LTS) release
  • PHP4 compatible
  • Composer compatible (PSR-0 autoloading)
  • Install using Composer: composer require phpseclib/phpseclib:~1.0
  • Download 1.0.23 as ZIP

Security contact information

To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.

Support

Need Support?

Special Thanks

Special Thanks to our $50+ sponsors!:

Contributing

  1. Fork the Project

  2. Ensure you have Composer installed (see Composer Download Instructions)

  3. Install Development Dependencies

    composer install
    
  4. Create a Feature Branch

  5. Run continuous integration checks:

    composer global require php:^8.1 squizlabs/php_codesniffer friendsofphp/php-cs-fixer vimeo/psalm
    phpcs --standard=build/php_codesniffer.xml
    php-cs-fixer fix --config=build/php-cs-fixer.php --diff --dry-run --using-cache=no
    psalm --config=build/psalm.xml --no-cache --long-progress --report-show-info=false --output-format=text
    vendor/bin/phpunit --verbose --configuration tests/phpunit.xml
    
  6. Send us a Pull Request