我有一个servlet,我的请求的内容类型是:application-pkcs-7
我如何解码请求?
有什么想法吗?
我了解到我可以使用openssl进行解码,但没有太多的文档。
答案 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();
在我的情况下,它没有,因为解析数据时标记条目未知