0
我正在构建一个网站,我将需要用户使用名称,密码和证书进行登录。它应该工作的方式是在第一次登录时上传证书。之后,应该有一个设置有公钥ID(不是公钥)和名称和密码的cookie,以便将来不再需要上传证书。PHP:从证书获取公钥ID。
我遇到了这个问题,特别是获取公钥ID。我可以拿到钥匙,没问题,但我需要做的是获取公钥ID并将其保存为cookie,随后将其保存为DB和用户名和密码。
这是我提交表单代码:
<?php
$uploads_dir = '/home/path/to/certs/';
$uploadfile = $uploads_dir . basename($_FILES['cert']['name']);
if (move_uploaded_file($_FILES['cert']['tmp_name'], $uploadfile)) {
$name = './'. $_FILES['cert']['name'];
$pub_key = openssl_pkey_get_public(file_get_contents($name));
$keyData = openssl_pkey_get_details($pub_key);
echo $keyData['key'];
} else {
echo "Nope!\n";
}
?>