使用c#读取.p7m文件

Dha*_*yal 5 .net c# smime

如何使用 C# 应用程序检索 .P7M 文件的所有信息。\n示例 .p7m 文件:\n如果可能,请给我代码或示例示例链接

\n\n
MIME-Version: 1.0\nContent-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=sha1; boundary="----6975263937A7DDC0C0034052D76E8275"\n\nThis is an S/MIME signed message\n\n------6975263937A7DDC0C0034052D76E8275\nMIME-Version: 1.0\nSubject: MVCI - Restart Needed a\nX-Relevance-Evaluation-Period: 0:0:1\nX-Relevance-Child-Evaluation-Period: 0:0:1\nContent-Type: multipart/digest; boundary="AD27641"\n\n--AD27641\n\nSubject: MVCI - Restart Needed a\nX-Relevant-When: pending restart and (not exists file "C:\\Windows\\System32\\No_Reboot.txt")\nX-Fixlet-ID: 27641\nX-Fixlet-Category: Computer Support\nX-Fixlet-Source: BigFix\nX-Fixlet-Source-Severity: Moderate\nX-Fixlet-Source-ID: <Unspecified>\nX-Fixlet-Source-Release-Date: 9/12/2006\nX-Fixlet-Download-Size: 0\nContent-Type: multipart/related; boundary="F27641"\n\n--F27641\nContent-Type: text/html; charset=us-ascii\n\n<custom>\n--F27641\nContent-id: Action1\nContent-Type: application/x-Fixlet-Windows-Shell\n\n// only run this action on computers that are not locked\ncontinue if {not locked of action lock state}\n\nrestart\naction requires restart\n\n// only run this action on computers that are not locked\ncontinue if {not locked of action lock state}\n\naction parameter query "RestartWaitTime" with description "Please enter the number of seconds to wait after warning the user before forcing a restart on the computer:"\n\nrestart {parameter "RestartWaitTime" of action}\naction requires restart\n\n--F27641--\n\n--AD27641--\n\n------6975263937A7DDC0C0034052D76E8275\nContent-Type: application/x-pkcs7-signature; name="smime.p7s"\nContent-Transfer-Encoding: base64\nContent-Disposition: attachment; filename="smime.p7s"\n\nMIIC7QYJKoZIhvcNAQcCoIIC3jCCAtoCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3\nDQEHATGCArkwggK1AgEBMIIBXTCCAVYxCzAJBgNVBAYTAi0tMRQwEgYDVQQDEwtC\ncmlhbiBKb25lczERMA8GA1UECBQIPE5PREFUQT4xETAPBgNVBAcUCDxOT0RBVEE+\nMSUwIwYDVQQKExxNYXJyaW90dCBWYWNhdGlvbiBDbHViIEludCdsMQowCAYDVQQL\nEwEtMSswKQYJKoZIhvcNAQkBFhxicmlhbi5qb25lc0B2YWNhdGlvbmNsdWIuY29t\nMYGqMBAGA1UEKRMJSGFzaDpzaGExMDEGA1UEKRMqU2VydmVyOkxBTEZJTVZCRjEu\nTVYuTUFSUkNPUlAuTUFSUklPVFQuQ09NMB0GA1UEKRMWTGljZW5zZUFsbG9jYXRp\nb246NDk1MDAbBgNVBCkTFEN1c3RvbUFjdGlvbnM6RW5hYmxlMCcGA1UEKRMgQ3Vz\ndG9tUmV0cmlldmVkUHJvcGVydGllczpFbmFibGUCARIwCQYFKw4DAhoFAKCBsTAY\nBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0wNjEwMTYx\nODE5MTRaMCMGCSqGSIb3DQEJBDEWBBRSsDje+FssF4dum8OfDyhrvlqYtjBSBgkq\nhkiG9w0BCQ8xRTBDMAoGCCqGSIb3DQMHMA4GCCqGSIb3DQMCAgIAgDANBggqhkiG\n9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDANBgkqhkiG9w0BAQEFAASB\ngOa3bY4oDVLwJ1LXv4YGJuWI7yrRnAPJu+CUJNB9VE40FVddLyZAgya4TtxVSxap\nfB0/molXCbPcmG5eqNS8CZ/BPZtBbyTFai+hQNyhxSxvbvvn4xoCCtvftLj1UkVx\n9ftCqSJKSeIWUk0jnQTU/pGrySOpXeJewqgRg06Sxejf\n\n------6975263937A7DDC0C0034052D76E8275--\n\n                                                                                                                                                                                                                                                                                                                            !\xc3\xb7R\xc5\xbe\xc2\xbb\xc2\xb6\xc3\x9bScc\xc3\xb6\xc3\xaa\'\xcb\x9caz&\xc2\xb6\xc2\xb9C\xc3\xb7s\xcb\x86\xc3\xa2\xc5\x92\xc3\x9fjJ\xc3\x87I\xc3\x93t*\xc2\xb6\xc3\xb3k=;^\xc3\x80\xc5\x93\xc3\x8b  \xc3\x98M\xc3\xb6\xc5\xa1\xc3\x90\xc3\xa5\xc3\x8c\xc3\xb9\xcb\x9c=pN\xe2\x80\xa6>\xc3\xa10\'\xc2\xb6rj\xc5\xa0"\xc3\xba\xc5\xbe\xc3\xac\xc5\xbd\xc3\xa4\xc2\xa8\xc3\xbd\xc3\xa0\xcb\x9c\xc3\x9c\xc3\xb0\xc3\xb6<*%a\xc3\x900\xc3\xaa\xc3\xa6S9\xc3\xa4\xe2\x80\xa1\xe2\x80\x9c.$\xc5\x93G\xc2\xbf\xcb\x86\xc3\x81W\xc3\xa4\xc3\xa0\xe2\x80\xa2)\xe2\x80\x94L\xe2\x80\xa1\xc3\xabnhQ\'\xc3\xba\n\xc3\x8es\xc3\x86R\xc3\xa3\xc2\xb1\xc3\xb9\xc3\x8e"2A\xc2\xbeT\xc2\xa2\xcb\x86\xc2\xb3\xc2\xbf\xc3\xa9y\xc2\xa2\xc3\xb6K\xc2\xb1\xe2\x80\x93\xc3\x83\xe2\x80\xb9\'*\xc3\x8c\xc2\xae  _%\xc3\xad#\xc3\x9dR\xc3\x96\xc3\xa2\xc3\x92\xc3\x89X\xe2\x80\xb0<u^N\xe2\x80\xa1p\xc3\x8a\xc3\x97D\xc3\x9aC\xc3\xb3u\xc2\xb0\xc2\xbc\xcb\x9c\xe2\x80\x93E\xc2\xa2W\xe2\x80\xa2|^\xc3\xa7^e\xc2\xa2\xc3\xb8\xc3\xa1k\xc3\x8e\xc3\x98\xe2\x80\xa0@o\xc2\xacym\xc3\xadOX\xe2\x80\x9a\xc2\xb0\xc5\xbe\xc3\x8f\\\xc6\x92h\xc3\xa6\xc2\xa3F&E\xc3\xb4=\xc2\xb4sx\xe2\x80\xb9b\xc3\x922!\xc2\xa2:\xc2\xbe\xc3\x85\xc2\xb6\xc5\x93\xc2\xb8\xc2\xa6\xe2\x82\xac\xe2\x80\xa15\xc5\xbd\xc3\x97\xc3\xb6$\xc3\xbcd-Cs\xc3\x96\xc3\xb0\xc2\xbaH\xc3\xb6Nk+\'.\xe2\x80\xa6\xc5\xa1\xc2\xa1\xc2\xb3\xc3\xa0,\xc2\xa7\xc3\xa1\xc3\x9fI\xc5\x92%\xc5\x93\xe2\x80\x9d\xc3\xb0\xe2\x80\xb9<$\xc3\xa1\xc3\x80 !h\xc3\x8f\xc2\xb8\xc2\xb9!\xe2\x80\xa6*e\xc2\xb4\xc3\x94(\xc2\xaft\xc2\xa4u6 O\xc3\x90KFL\xc3\xb2\xe2\x84\xa2\xc3\xbc\xc3\xa5\xe2\x80\x9d!\xc2\xbf\xc3\x95\xe2\x80\x9eM\xc3\x9d\xc3\xb7>\xc3\x9e*y\xc5\xbdR:\xc3\x9bOt\xc3\x87\xc3\xbcHe\xc5\xa13\xc5\xb8\xc3\xac\xe2\x80\xa1~C0\xc2\xa5;L9\xe2\x80\x98\xc3\xb30%\xc3\xac\xc3\xbb\xc2\xb1\xc3\x92 \xc2\xbfno,e?\xe2\x80\xb9\xc3\xb5\xc3\xb1cmO7\xc3\x92XZ*\xc3\xb7n\xc2\xad    \xe2\x80\x98,\xc3\x88s\xc3\x85\xc3\xa7*\xc3\xacE\xc2\xa1(\xc2\xa7#\\\xc3\xa3Oax\xc2\xac\xc3\x87\xc2\xa8\xe2\x80\x99\xcb\x86\xc3\xb8\xc3\x9e\xc2\xa2\xe2\x84\xa2\xc3\x80\xc3\xa7\xc3\x8c*\xc2\xb8(^\xc2\xb4-\xc3\xb9\xc3\x9d\xc3\x8dO\xc3\xa46\xc3\x98"\xe2\x80\x98\xc3\x99]\xc5\x92\xc3\x95\xc5\x92\xc2\xb6R*\xe2\x80\xb9\xe2\x80\xa0\'\xc3\xb0\xcb\x9c\xc3\x85Y\xc5\x92\xc3\xacs\xcb\x86\xc2\xb2\xe2\x80\x99o[V\xc3\xa1M\xc3\xbbV\xe2\x80\xa2\xc3\x88%k\xc3\x8aNi5K8\xc2\xb1\xe2\x80\x93K\xc3\x93\xe2\x80\xa1\xc3\x83e\xc3\x88Vk5\xc2\xb7\xe2\x80\xa0l\xc3\x867l\xc5\xa0\xc3\xbc\xc2\xbb\xc2\xac\xc6\x92\xc3\xbd\xc3\x8e\xe2\x80\x9a\xc3\x83E[\xc3\xadD\xc2\xa1O)|\xc3\x8d\xc2\xa0\xe2\x80\x94)#\xc3\xa6\xc3\xb3 \xc3\x9a\xc3\xbcbc\xc3\x80v\xe2\x80\xa6\xe2\x82\xac\xe2\x80\xb0*\xc2\xbc\xe2\x80\xb95\xc3\xb3(\xc3\xac\xc3\x84t\xc3\xb4\xc3\xb9\xc2\xb1\xc3\x90\xc3\x94^CS|T\xe2\x80\x9df2\xc2\xa37\xc3\x86\xc2\xb2\xc3\x95n\xc3\x83DV_;?\xc2\xab\xc3\x80\xc3\xbesy\n2\xe2\x80\xa2^;=;002_tdqX\xc2\xac\xc2\xab\xe2\x80\xa0@\xc2\xb4i\xc3\xb2Q\xe2\x80\x98TD\xc2\xaa\n2\xc2\xaa\xc3\x804\xc2\xaab(\xc3\xa4\xc3\x82\xe2\x80\xb9\n \xc3\xa6\xc3\xb6E8\xc3\xbd|,~\xc3\x8agU@\xc3\xb7e\xc3\x89\xc3\xb6\xe2\x80\xa2\xc3\x89\xc2\xa3Sp\xc3\xb9\xc2\xa0\xc3\xad\xc2\xa9L~T\xc2\xa2D\xc3\x94\xc3\x89\xc3\x9cc\xc3\xb1#\xe2\x80\x9d\xcb\x86\xe2\x80\x9a\xc5\xa1]\xc6\x92=\xc5\xbd\xc3\xa1\xc3\xaf\xcb\x86\xc3\x8b9%\xc2\xa0R\xc3\x92\xc3\xb43\xc2\xadU\xc3\xacI\xcb\x86\xc3\x81\xc3\xb3}\xc2\xa8\xc3\x9a\xc3\xae\xc3\xaf\xc3\x93\xc2\xba\xc3\x81W\xc3\x80\xe2\x80\x9e;\xe2\x80\x9a~\xc3\x92\xc3\x87B\xc3\xa6#\xc3\x8di}bI\xc2\xa4\xc3\xaeh\xc2\xbe\xe2\x80\xa22E\xc5\xb8\xc2\xa0N\xc3\x99\xc3\xbcT\xc3\xa2\xc3\xb7;\xc3\x9c1!T \xe2\x80\x9c\xc2\xa12P\xc2\xa6q/+"G\xc2\xaeL\xc3\x99)K\xc3\x89\xc3\x81\xc2\xa4\xc3\xaaR|\xe2\x80\xa6#UI\xc3\x8cg\xc3\xaa\xc2\xb9\xc3\x9d\xe2\x80\x9au\xc2\xa5\xc2\xb0\xc3\xa7:#\xc3\x8d1\xc3\x9dF7\xc5\x92PTB{ph882\xc2\xad\xe2\x80\x93\xc3\xa5\xe2\x80\x9cU$\xe2\x80\xb9L\xc3\x9b\xc3\xb9\\\xc5\x93\xc2\xa2\xc3\xaag\xc3\xb5\\lGt\xcb\x9c\xc2\xa8\xc3\xa6\xcb\x9cPh676\xc2\xb5\xc5\xb8\xc3\xb4\xc3\x9e\xc3\x9d{\xc3\x9dQU@\xc3\x88n\xc2\xa4lT+\'\xc3\xaf\xc5\x92\xc2\xb4\xc3\x9el\xc3\xb4\xe2\x80\xb9\xc3\x85\xe2\x80\x9a\xc5\xbe<5t\xe2\x80\x9eC\xc3\x8al\'\xc3\xb4\xe2\x80\x9d\xe2\x80\x94\xc3\xaf\xc3\xad#\xc3\x97\xc2\xb9B]s\xc2\xa9\\\xc3\xb2\xc3\x80`;\xc3\x9a\xc5\xa0\xe2\x80\x98\xc3\x86r\xc3\x8e\xc3\xa4\xc3\xb47Ggg\xe2\x80\x94z\xc3\xb2\xc3\x9a\xc2\xb8\xc3\x9e;>;K~\xc3\x85\xe2\x80\x98. o\xe2\x80\x99\xe2\x80\x99{X-\xcb\x9c\xc3\x89#\xe2\x80\xa2\xc5\xbeM\xc2\xabn\xc3\x9b\xc3\xa5hM\xc3\xb2\xc2\xae[\xc5\xbe?h\n\xc3\x92\xc3\x89\xc3\xbf\xcb\x86\xc2\xb4\xc3\x9f\xc3\xaf`T@\xc3\xac\xc3\xbbv\xc3\xb7\xc3\x86\xc2\xb4n\xc3\xa4\xe2\x80\xb9o}d\xc2\xb9\xe2\x80\xa0\xc3\x95\xc5\xb82k.\xe2\x80\xa2Fu\xe2\x80\xa6\xc3\xa5N\xc3\xa3]\xc3\xad$Y\xc3\x94\xc2\xb5\xc3\xa9\xc5\xbdz\xc2\xbe\xc3\x80Pm\xc3\x90\xc3\xba\xc3\x94g\xc3\xb9/3\xc3\x91\xc3\xa320\xc3\xb5\xc2\xa4\xe2\x80\x98z\xc3\x86\xe2\x80\x98/yzx\xc3\xb1\xc3\xbc\xc3\xac\xc3\xb1\xc2\xbf\xc5\xbe\xc2\xa0=[u\xc3\xbe\xc2\xa0F\xc2\xa0\xc3\xa7W\n\xc3\x82%u\xc3\x99Gj\xc2\xa4\xe2\x80\x98\xe2\x80\xa6\xc2\xa1\xc2\xb2\xc2\xaf\xc2\xa1\xe2\x80\x9a\xc2\xae@\xc2\xae\xe2\x80\x93\xc3\xbae\xc3\xb1g\xc3\xb9\xe2\x80\xa0\xc2\xa5F\xc2\xb64v\xe2\x80\x98\xc2\xb0\xc3\x91\xc3\xb5\xc3\x80\xc5\xb80\xc3\x9dl`\xc3\x9a@@0\xc3\xb3\xc3\xa7l\xc2\xbf\xc3\x89\xc3\xb8\xe2\x82\xac\xc2\xb8\xc3\x8d\n:\xc3\xb1{\xc3\xa7\xc3\xbclCH\xc3\x91\xc3\x84\xc2\xa4\xc5\x93\xc3\x94\xc3\x87\xc2\xa6<S\xc2\xb8[@\xc3\x80\xcb\x9c\xc3\xb5=}\xe2\x80\x9c\xc3\x99\xc3\x8d\xe2\x80\x98\xc2\xb1\xe2\x80\x9d\xc2\xb1\xc3\xa2=bYo\xc3\xa3\xc3\x8bKm?~A\xcb\x9c\xc3\xb4&kbh\xc3\x9d\xc2\xb8Du\xc3\x94\xc3\xbf\xc2\xbd\xc2\xa3\xc3\x99\xc3\xbf\xc3\x99\xc3\x99\xc2\xa3\xc2\xaf]\xc2\xbf&b\xc3\x8a\xc3\xbc\xc3\xa2Y(@&\xc3\xb4\xe2\x82\xac\xc2\xb0f\xc3\x95H\xc3\xa6\xc3\x9f\xc3\x89T\xc3\x9f\xe2\x80\x93\xc3\x9f +|\xc3\xa6\xc2\xad\xc2\xbaQt\xc3\x81Y\xc5\xa0\xc2\xab\xc5\xa0+\xe2\x80\x98\xc3\x8a\xc3\xbb\xc2\xbc\xc3\x81c4\xc3\xae\xc2\xb5{uiC\xc2\xbc\xc5\x93\xc2\xaf4\n\xe2\x80\x9dD\xc2\xb5]^R\n\xc5\x92.\xe2\x82\xac8~wJ\xc3\xac)N]\xe2\x80\x9c\xc2\xa5\xc3\xbbp\xc3\x9av\xc2\xbb\xc3\x9e\xe2\x80\xa0\xc2\xa2\xc3\xb8\xc3\x94L5:[\xc2\xb0\xc2\xa6|R\xc3\x91/g\xc3\xbd\xc3\xbf[\xc3\xb6R\xc3\x9c\xc3\xa1\xc3\x9cu\xc3\xbf\xc3\xa7RR=\xe2\x82\xacR\xe2\x80\x94\xc5\x92\xc2\xa87\xc3\x87&\xc2\xaf;?2:-\xc2\xaf\xc3\xad\xc2\xb9|lD\xc5\xa1\xc3\x91\xc5\xbd\xc3\x9f\xc3\x87\xc3\x87\xc2\xa3\xc3\x99@P\xc2\xb0\xc2\xb6\xc5\xbe\xc5\xb8\xc2\xb9x\xc3\xbdh\xc3\xac\xc3\xbf\xc2\xb4*\xc5\xbd\xe2\x80\xa1`~\xc2\xa3\xc2\xa4\xc2\xa32B\xc5\xb8\xc2\xb1W\xc2\xa3\xc3\xb3\xc3\x9aO\xc3\xb8\xc3\x92$\xc2\xbdu\xe2\x80\xb0[Zgq\\\xe2\x80\x9a>\xc3\x87R\xc3\x90\xc3\xbdx$\xc5\xa0YeW@\xc3\xa7\xc3\x80E\xc2\xa6\xc3\x8b\xc2\xa8D\xc3\xa4}\xe2\x80\x98\xc3\x842\xc2\xb5)\xc3\x84\xc2\xab`\xc2\xb3af\xc3\x99i\xc3\xb5P\xc3\xa8\xc5\x93\xc3\xbcv\xc2\xb9y-\xc5\xbd}}-\xc2\xa8Y\xcb\x86\xe2\x80\xa0i\xc3\xb9\xc2\xb9[\xc3\x9e#\xc2\xba\xc2\xa2\xc3\xb0<\xc3\x9cg\xe2\x80\x93R\xc3\xb7\xc3\x9a\xc3\xa0\xc3\x86\xc2\xbbK\xc3\x80\xcb\x86\xc3\x94s\xc3\x96D\xe2\x80\xa0D\xc3\x82\n\xc3\xb1\xc3\xad\xc3\xac\xc3\x86\xc3\xbb\xc2\xb4e\xc2\xb9\xc3\x95\xc2\xb8\xc2\xa3\xc3\x91W\xc3\x80\xc2\xbc0\xc3\x80\n\xc3\x90)\xc3\x91.\xe2\x80\xa0\xc3\x9dP\nh\xc3\x91\xc3\xb5\xc2\xb8\xc3\x80\xe2\x80\x9d\xe2\x80\x9c\xc3\xab=$b\xc2\xb9\xc3\x8d\xc3\xb8\xc3\x9c\xc3\x9d\xc3\xb9\xc3\x8d\xc2\xa2\xc5\x92\xe2\x80\xa1R\xc3\xb1O][.\xc3\xb1 \xe2\x80\xa1\xc3\x90\xc2\xbcog\xc3\xbb\xc2\xba\xe2\x84\xa2\xe2\x82\xac\xc3\x8d\xc3\x8d\xc2\xbc@\xe2\x80\x9d=\xc2\xbc0\xe2\x80\xa1\xc3\x90$\xc3\xb5j\xc3\x8d\xc3\x80\xe2\x80\x9d\xc3\x9a$\xc3\xbb\xc5\x93\xc3\x9a\xc2\xba\xc3\xa4a\xe2\x80\x98PR+K\xc2\xbf\xc2\xbf\xc3\x8aS\xc2\xa0zTZHm\xc3\xbd\xe2\x80\xa2\xc3\x9f\\\xc3\xb2N\xc3\xb8\xc2\xb8\xc3\xbd7\xc3\xa0\xc6\x92T:\xc2\xa5\xc2\xbf\xe2\x80\xa6\xc3\xac\xc3\xb5U\xc2\xb7o35\xc3\xb7\xc3\xbe\xc2\xb5\xc2\xa3\xc2\xa1\xc3\x87\xc3\x8e\xc3\x9e\xc3\xab\xc2\xbfv_5+!\xc3\x87ht\xc3\xaf\xc5\xa1\'\xc2\xbf\xc3\x8azppY\xc3\xb7\xc2\xa6m\xe2\x84\xa2\xc2\xb8\xc3\x88\xe2\x80\xb9Z\xe2\x80\x9aY\xe2\x80\x99xd\xc3\x8a\xe2\x80\xb9\xc3\x94\xc3\x9a\xe2\x84\xa2\xc3\xb0\xc3\xa7\xc2\xbf\xc2\xbf\xc2\xab\xc2\xa9\xc3\xb9l9%\xc2\xa6ye\xc3\x96\xc3\x9e\xc2\xb7RvxKHG\xe2\x80\x98\xc3\x92q\xc3\xb4;(\xc3\x93u\xc3\xa1\xc3\x82\xc2\xbbJN\xc3\xb4\xc2\xa1{AE\xc3\xbe}\\9\xc3\x83\xc3\xbd{\xc3\xb4Yri\xc3\xbe\xe2\x80\x98F\xc3\x8f\xc3\xbbr &\xe2\x80\x9e\xc3\xb2\xc2\xad\xc3\xb4\xe2\x82\xac\xc3\xb2U\xc2\xa2\xc3\x92\xc3\x83\xc2\xbak\xc3\xa0\xc2\xbe&\xc6\x92>\xc5\xbe\xc3\xbd\xe2\x82\xacibuJ\xc3\xb4\xc5\xbeUO\xc5\x92\xc2\xb6\xe2\x80\x9cC\xe2\x82\xacuI\xc3\x9f\xc3\xa7\xc2\xaag\xc3\xa3\xe2\x80\xb0\xe2\x80\x9dr\xc2\xbew\xe2\x80\x9d\xc3\xb5Y\xc3\x9ah\xc5\xb8%d\xc3\xae\xc3\xa1\xc3\xb4\xc3\x86\xc3\xb27\xc5\xb8e?Z\xc3\x90\xc2\xa6d\xe2\x80\xb0\xc2\xb8\xc3\x80\xc3\x97\xc2\xa6\xc3\xaa\xc2\xb4l\xc3\xb8\xe2\x80\x9dO\xc3\xab\xe2\x84\xa2\xc3\xabx\xc3\xa2p\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果有任何建议和问题,请回复重播,然后告诉我。\我正在等待重播。

\n

jst*_*ast 5

作为上面发布的非自由/非开源解决方案的替代方案,我可能建议看一下我的免费/开源 S/MIME 库:MimeKit

要处理您的输入数据,您需要执行以下操作:

var entity = MimeEntity.Load (stream);

if (entity is MultipartSigned) {
    var signed = (MultipartSigned) entity;

    foreach (var signature in signed.Verify ()) {
        try {
            bool valid = signature.Verify ();

            // If valid is true, then it signifies that the signed content has
            // not been modified since this particular signer signed the content.
            //
            // However, if it is false, then it indicates that the signed content
            // has been modified.
        } catch (DigitalSignatureVerifyException) {
            // There was an error verifying the signature.
        }

        // If you'd like to get a copy of the certificate used for signing,
        // you could do this:
        var wrapper = (SecureMimeDigitalCertificate) signature.Certificate;
        var cert = wrapper.Certificate;

        // The cert is a BouncyCastle X509Certificate, so if you want to convert
        // it to a System.Security X509Certificate2, you can do this:
        var x509certificate2 = new X509Certificate2 (cert.GetEncoded ());
    }
}
Run Code Online (Sandbox Code Playgroud)