Question

I have a servlet and the content type of my request is of type : application-pkcs-7

And how do i decode the request ?

Any ideas ?

I learnt that i can use openssl to decode , but not much docs on that .

Was it helpful?

Solution

That's probably a signature or an encrypted piece of data. It's old name is PKCS-7 (of RSA labs, publicly available standard) but it is also known as CMS (Cryptographic Message Syntax, publicly available RFC). CMS is a container format for different kinds of encryption. You can parse it in Java using the open source Bouncy Castle libraries - "bcmail" in particular, but you probably need some kind of key if it is encrypted. If it is signed, you could simply parse the plain text data from it and ignore the signature, I guess, depends on the application really.

[UPDATE] Since 1.47 the necessary functionality is in the PKIX library of Bouncy Castle.

OTHER TIPS

Should work in this way

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

In my case it didn't though, because of unknown tag entry while parsing data

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top