Visual Basic Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

VB Examples

Bounced Mail
Bz2
Character Encoding
CSV
Digital Certificates
Digital Signatures
Email
FTP
HTML Conversion
HTTP
IMAP
Encryption
MHT / HTML Email
POP3
RSA
S/MIME
SFTP
SMTP
Socket
Spider
SSH
SSH Key
SSH Tunnel
String
Tar
Upload
XML
XMP
Zip Compression

More Examples...
Amazon S3
Email Object
DKIM / DomainKey
NTLM
DH Key Exchange
DSA
FileAccess
RSS
Atom
Self-Extractor
Service
Bzip2
PPMD
Deflate
LZW


VB Strings
VB Byte Array

 

 

 

 

 

 

 

Create S/MIME with Detached Signature

Download Chilkat MIME ActiveX

Visual Basic example to create a simple S/MIME message with a detached digital signature.

Dim mime As New ChilkatMime

'  Any string argument automatically begins the 30-day trial.
Dim success As Long
success = mime.UnlockComponent("30-day trial")
If (success <> 1) Then
    MsgBox "MIME component unlock failed"
    Exit Sub
End If

'  Find our digital certificate from the Current User certificate store.
Dim ccs As New ChilkatCreateCS
Dim certStore As ChilkatCertStore
Set certStore = ccs.OpenCurrentUserStore()
Dim cert As ChilkatCert
Set 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"

Text1.Text = Text1.Text & "Original MIME message:" & vbCrLf
Text1.Refresh
Text1.Text = Text1.Text & mime.GetMime() & vbCrLf
Text1.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 Long
transferHeaderFields = 1
success = mime.AddDetachedSignature2(cert,transferHeaderFields)
If (success <> 1) Then
    MsgBox mime.LastErrorText
    Exit Sub
End If

Text1.Text = Text1.Text & "----------------------------------" & vbCrLf
Text1.Refresh
Text1.Text = Text1.Text & "S/MIME with detached signature:" & vbCrLf
Text1.Refresh
Text1.Text = Text1.Text & mime.GetMime() & vbCrLf
Text1.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.