3

我有一个 DER 签名文件,我想提取他的内容以剥离签名... Php openssl_pkcs7_verify 函数仅适用于 PEM 签名文件,这是我发现的第一件事。因此,我对内容进行了 base64 编码,将其保存到文件中并尝试再次解包。

没什么,我仍然得到这些错误:

错误:02001000:系统库:fopen:系统库

错误:2006D002:BIO 例程:BIO_new_file:系统库

这是我的代码的摘录:

$nomeFileEstratto = substr($nomeFileP7M,0,-4);
$nomeTemporaneoP7M = $_SERVER['DOCUMENT_ROOT'].'/temp/'.basename($nomeFileP7M);
$nomeTemporaneoEstratto = $_SERVER['DOCUMENT_ROOT'].'/temp/'.basename($nomeFileEstratto);

//Salvo il file p7m nella cartella temporanea
file_put_contents($nomeTemporaneoP7M,$this->der2pem($contenutoFileP7M));

//Estrazione dei dati
//exec('openssl smime -decript -in \''.$nomeTemporaneoP7M.'\' -inform DER -verify -noverify -out \''.$nomeTemporaneoEstratto.'\'');
openssl_pkcs7_verify($nomeTemporaneoP7M, PKCS7_NOVERIFY, null, array(), null, $nomeTemporaneoEstratto);

请注意,我不能使用系统调用。

我也沉迷于 ANS1PHP 和 PHPSECLIB,但我不知道如何将它们用于我的目的。

4

0 回答 0