I'm writing a program to sign files using X.509 certificates and .NET framework classes. My users can sign the same file more than once without any problem (like a revision process). So, a file may contain one or more signatures.
I'm using the CMSSigner class and I don't encrypt the file. I just sign it.
But now a user asked me the following: "By mistake I signed a file and I would like to take off my signature from that file. Can I do this?"
I see no problem when the file has only that one user's signature (only one X509 certificate within). But I'm not sure if I can unsign the file if it has many signatures there. The routine that I use to strip a signature from a file picks the original data and, in that case, I lose all of its signatures.
So, using .NET classes (X509Certificate2), can I just delete the user's signature from that file, without loss the other certificates there?
Thanks for any help.