有没有办法使用openssl对x509证书或任何文档进行数字签名?
在openssl中对文档进行数字签名是可行的
对于这一个第一个,你的证书应该是可信的,它看起来像这样
-----BEGIN TRUSTED CERTIFICATE-----
MIIDbjCCAlYCCQCOyunl25ProDANBgkqhkiG9w0BAQUFADB5MQswCQYDVQQGEwJJ
...
-----END TRUSTED CERTIFICATE-----
然后使用以下命令
smime -sign -signer certificate.pem -inkey private.key -in test.txt \
-out test1.txt -from ashish -to singhal
是的,OpenSSL的dgst和rsautl组件可以用于计算给定RSA密钥对的签名。
openssl dgst -sha256 data.txt > hash
openssl rsautl -sign -inkey privatekey.pem -keyform PEM -in hash >signature
openssl rsautl -verify -inkey publickey.pem -pubin -keyform PEM -in signature
更新:从下面捕捉雷托的评论,因为这是一个重要的细微差别。假设您要费劲验证,您想知道签名是在其所附的明文上生成的:
这对某些人来说可能听起来很明显,但是:请注意,rsautl验证
只是解密文件签名
。此调用的输出保证由私钥的所有者生成,但除此之外,不会检查任何其他内容。因此,要真正验证data.txt
的一致性,您必须重新生成摘要,然后将其与openssl rsautl-验证
的输出进行比较。
openssl dgst -sha256 -verify publickey.pem -signature signature data.txt
对于此操作,openssl需要公钥、签名和消息。
要生成私钥
openssl genrsa -out privatekey.pem 2048
要签署
openssl dgst -sha256 -sign privatekey.pem -out data.txt.signature data.txt
生成公钥
dgst -verify
需要公钥
openssl rsa -in privatekey.pem -outform PEM -pubout -out publickey.pem
验证
openssl dgst -sha256 -verify publickey.pem -signature data.txt.signature data.txt
“已验证确定”
,返回代码 0
“验证失败”
,返回代码1
我在理解OpenSSL的签名和验证过程时遇到了一些困难。 我有一个小型证书层次结构:根证书=>子证书=>结束实体证书。我想拥有来自最终实体CA的代码签名证书,因此创建了一个密钥对并请求CSR: 非常感谢。
您好,我可以使用iText 5对PDF文档进行数字签名。我需要再次签署PDF,而在验证PDF时,它表明初始签名无效。您可以在此处查看再次签名的文件。 请参见下面用于标记的代码, 请让我知道出了什么问题。
问题内容: 如何使用iText签名pdf?我正在通过此LINK进行操作, 但不了解my_private_key.pfx。我真的需要数字签名证书吗?请澄清一下。提前致谢。 问题答案: 您在问题中提到的文档很好。您必须创建数字签名文件。 该链接具有使用PKCS文件和签署PDF文档的工具。它声称使用iText,因此您应该能够理解这些步骤。源代码在这里
Im使用OpenSSL的< code>dgst命令执行ECDSA签名,如下所示: 然而,我在这个SO答案中读到,它首先对data_file进行SHA256哈希处理,ASN.1在签名之前对哈希进行编码。 我想创建数据的SHA256哈希,并让ECDSA只对该哈希的原始字节进行签名。(由于这是ECDSA签名,我不能使用如上述SO答案中所述。) 如何使用OpenSSL实现这一点?
我正在尝试用DSS签署PDF文档,我的问题是我无法在服务器a中计算文档的哈希值,然后在服务器B中签署它。 知道服务器A包含PDF文档,我们在服务器B中检索用于签名的证书 我的问题是如何在不需要证书的情况下计算服务器a中文档的哈希值。然后在服务器B上发送签名? 更新: ******散列的准备和计算******** ******散列签名******** ********PDF错误:*********
问题内容: 我需要对.flv文件进行数字排序,并且能够使用以下命令执行此操作: 但是有很多文件(数百个),因此无法正确排序。 但是奇怪的是,如果我在不起作用的情况下破坏了该命令。 我可以只使用ls,但文件夹中还有其他文件类型。 到目前为止我尝试过的是: 问题答案: 我会尝试以下代码。适用于我的测试场景: 所述列表上的每个线FLV文件1中,需要在每行开始对第二个字符的第一(且仅一个)字(开始数)。按