【发布时间】:2020-01-13 06:00:12
【问题描述】:
我有一个签名的 XML 文档和用于签名的证书的公钥。我想仅使用 CLI 中的 OpenSSL 来验证 XML 文件的签名。我尝试了命令:
openssl rsautl -verify -in signed.xml -inkey public_key.pem -pubin
但它输出错误:
RSA operation error
139662304335680:error:0406706C:rsa routines:rsa_ossl_public_decrypt:data greater than mod len:crypto/rsa/rsa_ossl.c:609:
该错误可能与 rsautl 的问题有关,因为手册告诉我们它只能处理小数据。 我尝试的另一个命令:
openssl dgst -verify public_key.pem -signature signed.xml to_sign.xml
但是这个需要一个文件(可能是二进制文件)作为参数,这可能是用于分离的签名(我的签名是envelope)。签名通过其他方式检查有效。我能知道我的命令中有什么错误吗?如果我可以通过openssl 做到这一点。谢谢!
【问题讨论】:
标签: openssl cryptography certificate digital-signature public-key-encryption