C# 如何使用.pem证书签署pdf文件?

C# 如何使用.pem证书签署pdf文件?,c#,openssl,certificate,digital-signature,C#,Openssl,Certificate,Digital Signature,我以自签名的方式生成了一个.pem证书,其中包含私钥。我必须在pdf文件上应用签名来测试一个代码,该代码实际上检查签名是否无效 我需要一种在c#或OpenSSL中实现这一点的方法 例如,对于OpenSSL,我尝试使用 openssl cms -nosmimecap -md sha256 -binary -nodetach -cades -outform DER -sign -signer miocertificato.pem -inkey miachiaveprivata.key -in fil

我以自签名的方式生成了一个.pem证书,其中包含私钥。我必须在pdf文件上应用签名来测试一个代码,该代码实际上检查签名是否无效

我需要一种在c#或OpenSSL中实现这一点的方法

例如,对于OpenSSL,我尝试使用

openssl cms -nosmimecap -md sha256 -binary -nodetach -cades -outform DER -sign -signer miocertificato.pem -inkey miachiaveprivata.key -in filedafirmare.pdf -out fileformato.pdf.p7m

但是我有一个错误“cms:无法识别的标志cades”。

OpenSSL无法做到这一点

在C#中,您可以根据需要修改PDF的字节

或者,您可以在开源的基础上构建,如

或者你也可以寻找商业组件——它们中的大多数都支持数字签名