PHP openssl_sign停止执行任何和所有脚本
发布时间:2020-12-13 22:49:10 所属栏目:PHP教程 来源:网络整理
导读:我在使用openssl时遇到了麻烦.为了更好地查明问题,我做了两件事;我将代码缩减为单个测试页面(我已经从php.net中删除了).问题持续存在后,我将tat代码上传到服务器.服务器按预期工作,所以问题必须在我的设置中!?我找到了一个遇到完全相同问题的人,但他的代码
我在使用openssl时遇到了麻烦.为了更好地查明问题,我做了两件事;我将代码缩减为单个测试页面(我已经从php.net中删除了).问题持续存在后,我将tat代码上传到服务器.服务器按预期工作,所以问题必须在我的设置中!?我找到了一个遇到完全相同问题的人,但他的代码不同,解决方案对我不起作用(
Service Applications and Google Analytics API V3: Error 101 (net::ERR_CONNECTION_RESET)).
这是代码: <?php $data = "Beeeeer is really good.. hic..."; // You can get a simple private/public key pair using: // openssl genrsa 512 >private_key.txt // openssl rsa -pubout <private_key.txt >public_key.txt // IMPORTANT: The key pair below is provided for testing only. // For security reasons you must get a new key pair // for production use,obviously. $private_key = <<<EOD -----BEGIN RSA PRIVATE KEY----- MIIBOgIBAAJBANDiE2+Xi/WnO+s120NiiJhNyIButVu6zxqlVzz0wy2j4kQVUC4Z RZD80IY+4wIiX2YxKBZKGnd2TtPkcJ/ljkUCAwEAAQJAL151ZeMKHEU2c1qdRKS9 sTxCcc2pVwoAGVzRccNX16tfmCf8FjxuM3WmLdsPxYoHrwb1LFNxiNk1MXrxjH3R 6QIhAPB7edmcjH4bhMaJBztcbNE1VRCEi/bisAwiPPMq9/2nAiEA3lyc5+f6DEIJ h1y6BWkdVULDSM+jpi1XiV/DevxuijMCIQCAEPGqHsF+4v7Jj+3HAgh9PU6otj2n Y79nJtCYmvhoHwIgNDePaS4inApN7omp7WdXyhPZhBmulnGDYvEoGJN66d0CIHra I2SvDkQ5CmrzkW5qPaE2oO7BSqAhRZxiYpZFb5CI -----END RSA PRIVATE KEY----- EOD; $public_key = <<<EOD -----BEGIN PUBLIC KEY----- MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANDiE2+Xi/WnO+s120NiiJhNyIButVu6 zxqlVzz0wy2j4kQVUC4ZRZD80IY+4wIiX2YxKBZKGnd2TtPkcJ/ljkUCAwEAAQ== -----END PUBLIC KEY----- EOD; $binary_signature = ""; // At least with PHP 5.2.2 / OpenSSL 0.9.8b (Fedora 7) // there seems to be no need to call openssl_get_privatekey or similar. // Just pass the key as defined above openssl_sign($data,$binary_signature,$private_key,"sha1"); // Check signature $ok = openssl_verify($data,$public_key,"sha1"); echo "check #1: "; if ($ok == 1) { echo "signature ok (as it should be)n"; } elseif ($ok == 0) { echo "bad (there's something wrong)n"; } else { echo "ugly,error checking signaturen"; } $ok = openssl_verify('tampered'.$data,"sha1"); echo "check #2: "; if ($ok == 1) { echo "ERROR: Data has been tampered,but signature is still valid! Argh!n"; } elseif ($ok == 0) { echo "bad signature (as it should be,since data has beent tampered)n"; } else { echo "ugly,error checking signaturen"; } 当我运行上面的代码需要一段时间来加载,但然后显示net :: ERR_CONNECTION_RESET: 我启用了openssl 我使用的是PHP 5.4.7 这些就像我发现的其他情况一样,除了我没有启动任何两次,这个代码在服务器上工作,这是PHP 5.3.18. 我还能做什么? 解决方法
velcrow似乎是对的.我重新安装了,现在一切都很好.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |