我有app需要从PDF文件上的"附加"数字签名中检索一些数据(签名者名称).
我在Java和C#中只找到了使用iText类AcroFields方法GetSignatureNames的示例
编辑:我用dump_data_fields和generate_fpdf 尝试了pdftk,结果是(不幸的):
/Fields [
<<
/V /dftk.com.lowagie.text.pdf.PdfDictionary@3048918
/T (Signature1)
>>]
Run Code Online (Sandbox Code Playgroud)
和
FieldType: Signature
FieldName: Signature1
FieldFlags: 0
FieldJustification: Left
Run Code Online (Sandbox Code Playgroud)
提前致谢 !
我有一个PKCS7签名,我可以从中获取解析内容
openssl pkcs7 -inform DER -in signature.pkcs7 -print_certs -text
Run Code Online (Sandbox Code Playgroud)
但是如何使用PHP的openssl函数来实现相同的输出?
编辑.我成功地使用以下函数创建了正确的PEM文件:
function der2pem($der_data, $type="CERTIFICATE") {
$pem = chunk_split(base64_encode($der_data), 64, "\n");
$pem = "-----BEGIN $type-----\n".$pem."-----END $type-----\n";
return $pem;
}
$data = der2pem($der_data, "PKCS7");
Run Code Online (Sandbox Code Playgroud)
然而,我并没有成功地使用PHP手册中提到的任何功能来解析数据.它使用openssl工作:
openssl pkcs7 -inform PEM -in signature.pkcs7 -print_certs -text
Run Code Online (Sandbox Code Playgroud)