phpseclib:使用证书验证签名数据

标签 php encryption x509 phpseclib

我确实有 private.pempublic.crt。我的目标是使用 private.pem 进行签名,并使用 public.crt 验证其签名。如何使用 phpseclib 实现此目的?

$data = 'test';
$rsa = new RSA();
$privatekey = file_get_contents(storage_path('app/private.pem'));
$rsa->loadKey($privatekey); 
$signed = $rsa->sign($data);

$publickey = file_get_contents(storage_path('app/public.crt'));
$rsa->loadKey($publickey);

return $rsa->verify($data, $signed) ? 'verified' : 'unverified';

最佳答案

得到了我的答案here :

<?php
$data = 'test';
$rsa = new RSA();
$x509 = new X509();
$privatekey = file_get_contents(storage_path('app/private.pem'));
$rsa->loadKey($privatekey);
$signed = $rsa->sign($data);

$publickey = file_get_contents(storage_path('app/public.crt'));
$x509->loadX509($publickey);
$rsa = $x509->getPublicKey();
return $rsa->verify($data, $signed) ? 'verified' : 'unverified';

关于phpseclib:使用证书验证签名数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49621672/

相关文章:

encryption - 在 C# .NET Core 中,我应该如何使用在 HSM 中创建的签名对 CSR 进行签名?

php - mysql_real_escape_string() 是否足以用于 MySQL REGEXP?

php - 如何使用 WHERE 条件的 2 个数据数组更新此查询

Django /S3/波托 : How do I encrypt files?

c# - 如何使用 ConvertTo-SecureString

c# - 如何正确地使用 SHA256 和 X.509 对 XML 进行签名?

PHP SSL 证书摘要

php - PHP/MySQL 提取最后两个日期

php - 将数据库查询结果格式化为 JSON 数组并读入表单

c# - 在 C# 中加密并在 Flex 中解密