Seems like you don't have a full key pair - meaning you encrypted with the public key (as you should) but don't have the matching private one.
Thanks for that quick reply.
According to the spec
"When decrypting the data, the application scans the recipient list for which the content is encrypted and attempts to find a match with a certificate that belongs to the user. If a match is found, the user requires access to the corresponding private key, which may require authentication, possibly using a password. Once access is obtained, the private key is used to decrypt the encrypted data."
So my encryption part is not proper. I suspect that the flag used in the last parameter of PKCS7_encrypt function is the culprit.
Also it would be of great help if you can let me know what flag [Last parameter of PKCS7_encrypt() function] has to be used when I call the PKCS7 encryption function.As of now I'm using zero as the flag.
I have the exact same problem with the following exception:
I encrypted a portfolio with a public key for a committee, including myself, using our public keys to allow just us to be able to open the portfolio. This worked as it should with Acrobat 9.4.1 and Reader 9.4.1.
When I updated to Adobe Reader X, I got the infamous
A digital ID was used to encrypt this document but no digital ID is present to decrypt it. Make sure your digital ID is properly installed or contact the document author" message.
On this same computer I can open the portfolio with Acrobat 9.4.1 and it doesn't prompt me for a password. When I open the same portfolio with Adobe Reader X, it asks for the password and gives the message.
When I upgraded to Reader X, I completely removed Reader 9 prior to loading Reader X. After a successful upgrade, I set my preferences to match what I had with Reader 9. Next, I re-established my security settings as follows:
1) Edit>Protection>Security Settings - then set the same private key as before, and
2) Edit>Protection>Manage Trusted Identities - then set the same public keys as before.
It should have worked, right?