douzuan5365 2016-05-12 12:53
浏览 113

如何验证PHP中的自签名证书?

I want to use self-signed certificate. So I try this:

$context = stream_context_create([
    'ssl' => [
        'verify_peer' => true,
        'allow_self_signed' => true,
        'peer_fingerprint' => [
            'sha1' => 'bddad63a826ff53f15ffd4f2339fe573fc01321d',
            'md5' => 'a7fb0783ffdab99a866ba31e5e15f2e7',
        ],
    ]
]);

file_get_contents(
    'https://example.com:8095',
    false,
    $context
);

But anyway I get

"SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed'"

What should I do for fix this error? I don't want to turn verify_peer to false, because it's not secure. I just want to check certificate by fingerprint to ensure that I can trust this certificate.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
    • ¥15 正弦信号发生器串并联电路电阻无法保持同步怎么办
    • ¥15 划分vlan后,链路不通了?
    • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
    • ¥15 个人网站被恶意大量访问,怎么办
    • ¥15 Vue3 大型图片数据拖动排序
    • ¥15 Centos / PETGEM
    • ¥15 划分vlan后不通了
    • ¥20 用雷电模拟器安装百达屋apk一直闪退
    • ¥15 算能科技20240506咨询(拒绝大模型回答)