mirror of
https://github.com/phpseclib/phpseclib.git
synced 2024-11-09 15:20:58 +00:00
Error: "Constant CRYPT_RSA_MODE already defined"
It happens if defined(MATH_BIGINTEGER_OPENSSL_DISABLE) && !function_exists('openssl_pkey_get_details')
This commit is contained in:
parent
7696cbf826
commit
cf10e07660
@ -493,14 +493,13 @@ class Crypt_RSA
|
|||||||
$this->configFile = CRYPT_RSA_OPENSSL_CONFIG;
|
$this->configFile = CRYPT_RSA_OPENSSL_CONFIG;
|
||||||
|
|
||||||
if ( !defined('CRYPT_RSA_MODE') ) {
|
if ( !defined('CRYPT_RSA_MODE') ) {
|
||||||
|
switch (true) {
|
||||||
// Math/BigInteger's openssl requirements are a little less stringent than Crypt/RSA's. in particular,
|
// Math/BigInteger's openssl requirements are a little less stringent than Crypt/RSA's. in particular,
|
||||||
// Math/BigInteger doesn't require an openssl.cfg file whereas Crypt/RSA does. so if Math/BigInteger
|
// Math/BigInteger doesn't require an openssl.cfg file whereas Crypt/RSA does. so if Math/BigInteger
|
||||||
// can't use OpenSSL it can be pretty trivially assumed, then, that Crypt/RSA can't either.
|
// can't use OpenSSL it can be pretty trivially assumed, then, that Crypt/RSA can't either.
|
||||||
if ( defined('MATH_BIGINTEGER_OPENSSL_DISABLE') ) {
|
case defined('MATH_BIGINTEGER_OPENSSL_DISABLE'):
|
||||||
define('CRYPT_RSA_MODE', CRYPT_RSA_MODE_INTERNAL);
|
define('CRYPT_RSA_MODE', CRYPT_RSA_MODE_INTERNAL);
|
||||||
}
|
break;
|
||||||
|
|
||||||
switch ( !defined('CRYPT_RSA_MODE') ) { // ie. only run this if the above didn't set CRYPT_RSA_MODE already
|
|
||||||
// openssl_pkey_get_details - which is used in the only place Crypt/RSA.php uses OpenSSL - was introduced in PHP 5.2.0
|
// openssl_pkey_get_details - which is used in the only place Crypt/RSA.php uses OpenSSL - was introduced in PHP 5.2.0
|
||||||
case !function_exists('openssl_pkey_get_details'):
|
case !function_exists('openssl_pkey_get_details'):
|
||||||
define('CRYPT_RSA_MODE', CRYPT_RSA_MODE_INTERNAL);
|
define('CRYPT_RSA_MODE', CRYPT_RSA_MODE_INTERNAL);
|
||||||
|
Loading…
Reference in New Issue
Block a user