【问题标题】:Digitally Sign Document with PHP使用 PHP 对文档进行数字签名
【发布时间】:2015-09-12 11:37:27
【问题描述】:

我已经为此苦苦挣扎了两天。

我已经使用客户端证书构建了身份验证,现在我想使用相同的证书来签署文档。

到目前为止我已经尝试过:

  • 使用openssl_pkey_get_public($_SERVER["SSL_CLIENT_CERT"]) 获取公钥,效果很好。
  • 使用openssl_pkey_get_private($_SERVER["SSL_CLIENT_CERT"], "mypwd")获取私钥,但它不起作用,我不知道为什么。

之后,我计划使用 openssl_sign() 使用该私钥签署 pdf。

我是第一次尝试创建这样的东西,有人知道我做错了什么吗?

我的会议:

Apache/2.4.12 (Win32) OpenSSL/1.0.1l PHP/5.6.8

【问题讨论】:

    标签: php ssl-certificate client-certificates digital-certificate


    【解决方案1】:

    您不能使用客户端证书的私钥,因为私钥存储在客户端计算机上并且不会传输到服务器。客户永远不会给你他的钥匙。任何通过网络传输的客户端私钥 = FAILURE。服务器上只有证书的公共部分可用。

    唯一的选择是在客户端进行签名操作(通过 ActiveX 或可以与客户端证书存储交互的类似工具)。比如说,让客户下载文档,在那里(在浏览器中)签名并上传回来或其他方式。

    【讨论】:

    • 终于点灯了,非常感谢,我大概会的。
    猜你喜欢
    • 1970-01-01
    • 2015-06-20
    • 2017-08-06
    • 2011-10-15
    • 1970-01-01
    • 2018-12-07
    • 1970-01-01
    • 2012-06-02
    • 2012-06-09
    相关资源
    最近更新 更多