Bouncycastle - 如何以编程方式区分附加的分离文件

时间:2017-06-19 20:14:48

标签: bouncycastle pkcs#7

我正在开发一个用于根据pkcs7签名/验证文件的应用程序。我正在使用bouncycastle。问题是每当我传入(以验证!)包含签名的文件时,我找不到区分文件是包含签名和签名数据还是仅包含签名的方法。关键是要求用户选择第二个文件,如果第一个文件只包含签名/并显示相应的错误/。 有没有解决这个问题的方法?

1 个答案:

答案 0 :(得分:2)

要构造CMSSignedData(第一次,在您知道它是否具有封装内容之前),只需使用CMSSignedData(byte [])构造函数,其中byte []是文件的完整内容。

获得CMSSignedData实例后,如果内容未封装,则getSignedContent()只返回null。

一旦掌握了基础知识,如果您处理的是非常大的文件,您可能需要将CMSSignedDataParser视为更高级的选项,以避免读取整个文件。