Use OpenSSL
C:\OpenSSL\bin\openssl\smime -verify -binary -in c:\temp\toverify.bin -out c:\temp\toverify_temp.bin -inform DER -noverify > output.txt
Use CAPICOM
string sodFile = @"C:\\temp\\sod.bin"; Utilities ut = new UtilitiesClass(); SignedData sd = new SignedDataClass(); sd.Verify( (Convert.ToBase64String(ByteUtil.ReadBinaryFile(sodFile))), false, CAPICOM_SIGNED_DATA_VERIFY_FLAG.CAPICOM_VERIFY_SIGNATURE_ONLY);
Use Chilkat
Chilkat.Mime mime = new Mime(); bool chilkatUnlocked = mime.UnlockComponent("trial"); log.InfoFormat("Unlock Chilkat: {0}", chilkatUnlocked); string sodFile = @"C:\\temp\\sod.bin"; byte[] toverify = ByteUtil.ReadBinaryFile(sodFile); mime.LoadMimeBinary(toverify); mime.UnwrapExtras = false; bool verified = mime.UnwrapSecurity(); log.DebugFormat("verified: {0}", verified);