Dear Mr. Lenin,
I see you are still into that problem of signing using a MuscleCard card. Let me suggest you to peek at the code inside the 'sign-mcard' or the 'QSign' utilities that you can find on the Smart Sign web page:
http://smartsign.sourceforge.net
Such utilities **do not** create APDUs by themselves, but they let the MuscleCard API do the dirty work for them. Sign-MCard is a C command-line oriented signing/verifying utility, while QSign is a C++ Qt-based, GUI-oriented utility for signing. Both programs are able to format a PKCS#7 signed blob. QSign is based on PKCS#11, which in turn uses MuscleCard API for actually transferring data with the card.
And, also, be sure you have correctly set-up your card, before signing, as pointed out by Mr. Williams. You can use either muscleTools or XCardII to verify your card is properly working. Further, you can use Mozilla's PKCS#11 panels to check that your card has correctly on-board a public-key certificate and corresponding private key. You can use Mozilla as well for creating a signed e-mail. If such operations succeed, then your card is formatted the right way.
Further, if you send the APDUs by yourself, then remember to select the Applet instance, before everything.
Anyway, my guess is that you're making some mistakes in padding or hashing data. Compare your code with the one into those two utilities.
Hope this helps. Regards,
T. _______________________________________________ Muscle mailing list [EMAIL PROTECTED] http://lists.drizzle.com/mailman/listinfo/muscle