Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
Create S/MIME with Detached Signature
VB.NET example to create a simple S/MIME message with a detached digital signature. Dim mime As New Chilkat.Mime() ' Any string argument automatically begins the 30-day trial. Dim success As Boolean success = mime.UnlockComponent("30-day trial") If (success <> true) Then MsgBox("MIME component unlock failed") Exit Sub End If ' Find our digital certificate from the Current User certificate store. Dim ccs As New Chilkat.CreateCS() Dim certStore As Chilkat.CertStore certStore = ccs.OpenCurrentUserStore() Dim cert As Chilkat.Cert cert = certStore.FindCertBySubjectCN("Chilkat Software, Inc.") If (cert Is Nothing ) Then MsgBox(cert.LastErrorText) Exit Sub End If ' Our MIME object is currently empty. Add some header fields ' and a body: mime.AddHeaderField("subject","this is a test") mime.AddHeaderField("test123","this is a test 123") mime.ContentType = "text/plain" mime.Charset = "iso-8859-1" mime.SetBodyFromPlainText("This is the body") TextBox1.Text = TextBox1.Text & "Original MIME message:" & vbCrLf TextBox1.Refresh() TextBox1.Text = TextBox1.Text & mime.GetMime() & vbCrLf TextBox1.Refresh() ' The original MIME looks like this: ' ---------------------------------- ' subject: this is a test ' test123: this is a test 123 ' content-type: text/plain; ' charset="iso-8859-1" ' ' This is the body ' ---------------------------------- ' Add a detached signature. Transfer the header fields ' from our existing MIME to what will become the new outer ' envelope. Dim transferHeaderFields As Boolean transferHeaderFields = true success = mime.AddDetachedSignature2(cert,transferHeaderFields) If (success <> true) Then MsgBox(mime.LastErrorText) Exit Sub End If TextBox1.Text = TextBox1.Text & "----------------------------------" & vbCrLf TextBox1.Refresh() TextBox1.Text = TextBox1.Text & "S/MIME with detached signature:" & vbCrLf TextBox1.Refresh() TextBox1.Text = TextBox1.Text & mime.GetMime() & vbCrLf TextBox1.Refresh() MsgBox("Success!") ' The signed MIME looks like this: ' -------------------------------- ' content-type: multipart/signed; ' boundary="----=_NextPart_e7c_2b68_282042d9.6ba23d56"; ' protocol="application/x-pkcs7-signature"; ' micalg=SHA1 ' subject: this is a test ' test123: this is a test 123 ' ' This is a multi-part message in MIME format. ' ' ------=_NextPart_e7c_2b68_282042d9.6ba23d56 ' content-type: text/plain; ' charset="iso-8859-1" ' ' This is the body ' ------=_NextPart_e7c_2b68_282042d9.6ba23d56 ' content-transfer-encoding: base64 ' content-type: application/x-pkcs7-signature; ' name="smime.p7s" ' content-disposition: attachment; ' filename="smime.p7s" ' ' MIIGAAYJKoZIhvcNAQcCoIIF8TCCBe0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCC ' A9kwggPVMIIDPqADAgECAhB4ouTcAmLszrGi170k1deSMA0GCSqGSIb3DQEBBQUAMFUxCzAJ ' BgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMR8wHQYD ' VQQDExZUaGF3dGUgQ29kZSBTaWduaW5nIENBMB4XDTA3MDExNTAwMDAwMFoXDTA4MDExNTIz ' NTk1OVowgZ0xCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhJbGxpbm9pczEQMA4GA1UEBxMHV2hl ' YXRvbjEfMB0GA1UEChMWQ2hpbGthdCBTb2Z0d2FyZSwgSW5jLjEnMCUGA1UECxMeU2VjdXJl ' IEFwcGxpY2F0aW9uIERldmVsb3BtZW50MR8wHQYDVQQDExZDaGlsa2F0IFNvZnR3YXJlLCBJ ' bmMuMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwR2t6b/Kn4VzNCOlj1YGkHxD ' YPVnfZNIeO7hmutreK6kr94xm9RlQn+vkN1uRMhvSbOdds+B25o+AyAeuBmLsuxoNRCC9AUb ' a37pY8eL04AaTEAm350tfnHGT44joSdFPoW5D91TDare6q5UaaccdEtXU4/LGqh+nHB9Idft ' 0S/rIpP2PK9TAwQ5V8dlMuBQQA+BUCg5MY9oqZgtnkX7O6OJSk8MT0lUhVg7EAge9iUx7Eu4 ' oWK88fkOo81pqHogTpGfy4nibWg72XkPk135leMw/Jme37q7OR/zm6HceFlyyO0WL1fYx09P ' pYbj1lYNvVo8n38ohT8T/7h3N4GUlQIDAQABo4HYMIHVMAwGA1UdEwEB/wQCMAAwPgYDVR0f ' BDcwNTAzoDGgL4YtaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZUNvZGVTaWduaW5nQ0Eu ' Y3JsMB8GA1UdJQQYMBYGCCsGAQUFBwMDBgorBgEEAYI3AgEWMB0GA1UdBAQWMBQwDjAMBgor ' BgEEAYI3AgEWAwIHgDAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3Nw ' LnRoYXd0ZS5jb20wEQYJYIZIAYb4QgEBBAQDAgQQMA0GCSqGSIb3DQEBBQUAA4GBAAUMcxUb ' eo5HTDKMaxMFFy3iA9i/ke4VLFw97yEG3raLTHZUlRwVxwLGLmW81dY/64nEDEgKi3Ifuohf ' A0a3N3Ld7zwL1f/hdG2pQigLcvMymP9jj6DEQxOs03iADFguMpqkb79hbbURzsKX7pvWuNjQ ' VGiowTuo1JXuSbsqaW7vMYIB7zCCAesCAQEwaTBVMQswCQYDVQQGEwJaQTElMCMGA1UEChMc ' VGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEfMB0GA1UEAxMWVGhhd3RlIENvZGUgU2ln ' bmluZyBDQQIQeKLk3AJi7M6xote9JNXXkjAJBgUrDgMCGgUAoF0wGAYJKoZIhvcNAQkDMQsG ' CSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDcwNDA0MTkzMDUyWjAjBgkqhkiG9w0BCQQx ' FgQUevptGkutc0lb6gI3NPHovx4Di34wDQYJKoZIhvcNAQEBBQAEggEAk4jqKMsn7D+MjGtY ' M9bnLdekBSxMVWPpKxk6hWg0NVOoiBOd/OOyH8FO/r7trmzr2Z9eJf1zpdjzpSPCwnGJzIy9 ' RunBBTJ+BxCbDXfjwJJTYVy1Uhsedv+o7Gfj9LlAVysNLjda5VcU7x/OOBVst034X+map3ds ' 85yBrfcJ/LyQs/lyZYmSPgOpFIBSy3oULPzYt45EUVsuk5qSZ1MA4HeIDW37b8OfQOW8pLEL ' cBRducU19lpDOp5hBRZDR3zu+/9ddWKxKvcH04WitYRBi5TtqhQxpep+vRhJX8EPY6cgenJ+ ' lbDURg552YftF4EpDGALADR41j6sUMzb0QOz4A== ' ' ------=_NextPart_e7c_2b68_282042d9.6ba23d56-- ' ' |
© 2000-2012 Chilkat Software, Inc. All Rights Reserved.