以下脚本在openssl_get_cipher_methods()
调用时暂停,没有错误。它最初通过openssl_decrypt()
调用来执行此操作。
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
echo extension_loaded('openssl') . '<br>';
print_r(openssl_get_cipher_methods());
echo '<br>end';
返回:
1
这可能是主机服务的问题吗?脚本输出表明模块已加载,phpinfo()返回:
openssl
OpenSSL support enabled
OpenSSL Version OpenSSL 1.0.2k-fips 26 Jan 2017
答案 0 :(得分:0)
openSSL的FIPS版本有点特殊。除此之外,他们似乎没有openssl_get_cipher_methods
。 FIPS构建适用于必须遵守严格的加密规则的系统,其中代码必须是简约的,以便保持可证明的相同。
https://wiki.openssl.org/index.php/FIPS_Build_Guidelines
另见第47-53行:https://github.com/defuse/php-encryption/blob/master/src/RuntimeTests.php