我准备使用PHP自带的SSL函数完成公钥的加密工作。但是访问这个test.php文件时,网页会一直加载,然后IE会提示网页无法显示。请各位大神看看,是不是我代码写错,或者是其他什么问题。因为PHP编辑器没有报错,我怀疑是我的Apache服务器配置的问题。
代码如下:<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>RSA</title>
</head>
<body>
<?php
$source="Test";
echo "<p>".$source."</p>";$fp=fopen("ca.crt","r");//ca.crt是X509证书文件
$pub_key=fread($fp,8192);
fclose($fp);
openssl_get_publickey($pub_key);
openssl_public_encrypt($source,$crypttext,$pub_key);
echo "String crypted: $crypttext";
?>
</body>
</html>

解决方案 »

  1. cvm
  2. ca.crt 和test.php在同一个目录?换成绝对目录试一试
      

  3. andyxl:在同一个目录下的,如果找不到文件的话,PHP会有提示的。现在就是IE会一直加载这个PHP文件,一段时间后会说这个网页无法显示。
      

  4. jordan102:火狐下显示“连接被重置”,说是站点太忙。还有我发现只要一运行PHP中关于OpenSSL的函数,如果参数有错,它会报错;如果没有错,它就会不断加载,最后提示网页无法显示。
      

  5. 问题解决~用的第三方的库http://phpseclib.sourceforge.net/index.html。送分给二位吧~!