openssl_pkey_get_public因PHP版本不同返回false?
天蓬老师
天蓬老师 2017-04-11 09:54:40
[PHP讨论组]

开发中有一段加密解密功能,在加载密钥的时候,因为php版本不同而结果不同

代码如下

$publicKey = openssl_pkey_get_public(_DIR__.'/cmcc_public.pem');

代码不变的情况下,切换php版本解决问题,但还是有疑问

PHP版本5.5n时返回false
根据openssl_error_string()返回结果为:'error:0906D06C:PEM routines:PEM_read_bio:no start line'

PHP版本7.0n时返回正确的资源文件

已做以下确认:
1排除密钥文件BOM头等问题,公用一个pem文件.
2确认5.5n版本和7.0n版本均在php.ini中开启了openssl扩展

2017-02-22 16:44
最新进展,发现原公钥pem文件除BEGIN和END两行外,内容只有一行
做换行处理后5.5n正常使用,但是为什么同一个文件pem 7.0能读取还是不懂,希望大大解答

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号