【发布时间】:2012-03-14 18:20:55
【问题描述】:
我在我的数据库中创建了一个 user 表,其中包含用于保存用户信息的不同列。我还添加了两列 public_key 和 private_key。 当用户注册时,他的信息将被插入到表中。另外我正在使用:
// Create the keypair
$res=openssl_pkey_new();
// Get private key
openssl_pkey_export($res, $privatekey);
// Get public key
$publickey=openssl_pkey_get_details($res);
$publickey=$publickey["key"];
创建一个随机密钥对并将其提供给用户,以便每个用户都有一个密钥对。 我希望我的用户具有数字签名能力,所以当他们上传文件时,他们会对其进行签名。
我决定先签署一个示例文件(msg.txt),看看是否可以,然后继续。它看起来直截了当:
openssl_pkcs7_sign("msg.txt", "signed.txt", "signing_cert.pem",
array("private_key.pem", "mypassphrase"),
array()
);
问题是:signing_cert.pem 和 private_key.pem 是什么?我将生成的公钥粘贴到了signing_cert.pem 中,将私有密钥粘贴到了private_key.pem 中,但是我看到了这个错误:
Warning: openssl_pkcs7_sign() [function.openssl-pkcs7-sign]: error getting
private key in /home/ofathian/public_html/msc/ebook/mine/assymetric-test.php
on line 40
欢迎提出任何意见。
【问题讨论】:
标签: php digital-signature