I am working on a testing tool and the testing tool asks the user to insert the user certificate in cert format like test.cert format and sends an encrypted attached file to my email id. Once I have received the file I want to download that file and decrypt the file. The file which I receive is named as smime.p7m and I am using p7mviewer to decrypt that file. But the tool is sending a message that the "The private key is not installed in the system". But when I use my own php script and send an encrypted email to my account the p7mviewer is able to decrypt that email. Can anyone tell me what I am doing wrong. From my php script I am not sending an attachment but I am sending an encrypted message to user's email.
Thanks in advance

Is it using your private, or your public key to encrypt it?

It is using my public key to encrypt it and I am using my private key to decrypt it.

Well, I have to believe that the testing tool is not using your public key, or it is not configured to know where your private key is located.

However, since the p7mviewer is working when you send an encrypted message yourself, but not when the test tool does, I suspect the former, that it is using a different key to encrypt it.

Is there any way I can confirm this that whether they are using my public key or not.

You'd have to ask them to verify the cert on their end. Or send them the current and ask them ro replace with the latest.