我想使用BouncyCastle解析和验证OpenPGP分离签名。签名如下所示:
-----BEGIN PGP SIGNATURE-----
Version: fast-openpgp
wsBcBAABCAAQBQJfRm9jCRDzeoZuOgUYnQAAVkoIAEReZ6Pp3SimYKbH+JHzwW8q
LiWeQIPNatFwDQHgD4ipT9aXMaObnXXl83KUQ5lPx8Bw77BxParpUbtCRNTrWoU5
XZ1ikfqzmeVEJrk4YsNKDiBpvjbyF86F8KSkXhwdLWSm1e6yemnXKcTHg2L13AiS
6TIqXXbcRmFF7RTO4DQrjira2YYlW8eHPIcCmOq0YjR4Qpz+R/+3BlfV2TAcL/sd
SeKAczgvdP6CS6be1rPA0nlgw9T853BpgqplQVM30pUhVlni7ga1YRzENm6Qic5A
uEbmPyunim2WHytPuLQq+BQvAq+Wrr2kiM7DhyvYFihDNdFWW67Y+fSlgPxOi/8=
=QKpc
-----END PGP SIGNATURE-----
下面是我如何尝试在Kotlin中创建CMSSignedData:
fun verifyDetached(signatureString: String, dataString: String): Boolean {
val dataBytes = dataString.toByteArray()
val signatureBytes = signatureString.toByteArray()
val processableDataBytes = CMSProcessableByteArray(dataBytes)
val ci = ContentInfo.getInstance(ASN1Sequence.fromByteArray(signatureBytes))
val cms = CMSSignedData(processableDataBytes, ci)
...
}
我应该如何使用BouncyCastle验证这种签名?
CMS与PGP完全不同,也不相关。对于PGP,使用bcpg中PGP的BouncyCastle实现,而不是BCPKIX中CMS的实现。例如,请参见使用BouncyCastle验证PGP签名以及如何在JAVA中签名和验证文件。
代码在这里,使用BouncyCastle实现: 我希望能够读取此签名并使用公钥验证它。如何将其转换回BouncyCastle对象?
我试图使用java BouncyCastle库解密和验证PGP消息,但遇到了一些问题,抱怨PartialInputStream过早结束。 我知道encrypt工作得很好,因为我可以在命令行上使用gpg解密和验证使用encrypt函数创建的消息。
我应该如何更改A方法?任何想法都是好的。提前谢谢。
我正在编写一个接收PKCS7数据(从签名的PDF文档中提取)的服务,并需要对其进行验证。 我使用iText7 PdfPKCS7进行验证,但签名验证总是失败。我可以从PKCS7读取所有其他信息(证书、时间戳等,我也用OpenSSL验证了这一点)。只有签名显示为无效。 下面是测试案例: 输出总是: 我想我在进口方面做错了什么,但就是找不到什么... 顺便说一句,验证其他pdf工具(Adobe DC、P
是否可以验证带有p7s分离签名的文件?我正试图使用Openssl实现这一点,但我得到了一条关于Openssl的默认消息和 这是我的命令: 是否可以使用openssl进行文件验证和p7s签名? --编辑。。。 只是想让你知道。我有一个p7s文件和一个pdf文件。我想知道如何验证这一点。