In Rebex Secure Mail, you can use Rebex.Net.MimeMessage object's SignedContentInfo property to access the raw signature data.
C# sample:
//using Rebex.Mime;
//using System.IO;
// use the low-level MimeMessage class for this
MimeMessage mail = new MimeMessage();
// load the message
mail.Load("message.eml");
// if it is a signed message...
if (mail.Kind == MimeEntityKind.Signed)
{
// ...extract the "signed content info" part
// which contains the signature
byte[] signature = mail.SignedContentInfo.Encode();
// and save it
File.WriteAllBytes("smime.p7s", signature);
}
The high-level Rebex.Net.MailMessage object can't be used for this - it's purpose is to shield the user from the internals :-)
Please be advised that the S/MIME standard also allows an "enveloped" signature variant where the actual content of the message (including any body parts and attachment) is a part of the signature blob. This variant is quite rare, but depending on the kind of input data you need to process, it might be necessary to take this into account when designing your database.
In Rebex Mail (the "unsecure" variant without S/MIME capabilities), the signature part is accessible as an ordinary attachment.