解码PKCS-7请求

时间:2012-02-25 11:26:36

标签: java servlets encryption request pkcs#7

我有一个servlet,我的请求的内容类型是:application-pkcs-7

我如何解码请求?

有什么想法吗?

我了解到我可以使用openssl进行解码,但没有太多的文档。

2 个答案:

答案 0 :(得分:3)

这可能是签名或加密的数据。它的旧名称是PKCS-7(RSA实验室,公开标准),但它也称为CMS(加密消息语法,公开可用的RFC)。 CMS是用于不同类型加密的容器格式。您可以使用开源的Bouncy Castle库在Java中解析它 - 特别是“bcmail”,但如果加密,您可能需要某种密钥。如果它已签名,您可以简单地从中解析纯文本数据并忽略签名,我想,这取决于应用程序。

[更新]自1.47以来,必要的功能在Bouncy Castle的PKIX库中。

答案 1 :(得分:1)

应该以这种方式工作

CMSSignedData cmsSignedData = new CMSSignedData(byte[] signedData);
CMSProcessable cmsProcessable = cmsSignedData.getSignedContent();

在我的情况下,它没有,因为解析数据时标记条目未知