C# Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript



C# Examples

Bounced Mail
Character Encoding
Digital Certificates
Digital Signatures
Email
FTP
HTML to XML
HTTP
IMAP
Encryption
MHT / HTML Email
MIME
RSA Encryption
S/MIME
Socket
Spider
Tar Archive
Upload
XML
XMP
Zip Compression


More Examples...
Email Object
POP3
SMTP
RSS
Atom
String
Byte Array
Self-Extractor

Unreleased...
Service
PPMD
Deflate
Bzip2
LZW
Bz2
DH Key Exchange
DSA
Icon

 

 

 

 

 

 

Create S/MIME Signed-Data Message in C#

Download C# Project Files and Source Code

This C# S/MIME example program shows how to digitally sign any file. The contents of the file are loaded into a MIME message as an attachment, and then signed to create an x-pkcs7-mime signed-data message.

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace CreateSigned
{
	/// <summary>
	/// Summary description for Form1.
	/// </summary>
	public class Form1 : System.Windows.Forms.Form
	{
		private System.Windows.Forms.Button CreateSigned;
		/// <summary>
		/// Required designer variable.
		/// </summary>
		private System.ComponentModel.Container components = null;

		public Form1()
		{
			//
			// Required for Windows Form Designer support
			//
			InitializeComponent();

			//
			// TODO: Add any constructor code after InitializeComponent call
			//
		}

		/// <summary>
		/// Clean up any resources being used.
		/// </summary>
		protected override void Dispose( bool disposing )
		{
			if( disposing )
			{
				if (components != null) 
				{
					components.Dispose();
				}
			}
			base.Dispose( disposing );
		}

		#region Windows Form Designer generated code
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		private void InitializeComponent()
		{
			this.CreateSigned = new System.Windows.Forms.Button();
			this.SuspendLayout();
			// 
			// CreateSigned
			// 
			this.CreateSigned.Location = new System.Drawing.Point(16, 24);
			this.CreateSigned.Name = "CreateSigned";
			this.CreateSigned.Size = new System.Drawing.Size(96, 24);
			this.CreateSigned.TabIndex = 0;
			this.CreateSigned.Text = "Create Signed";
			this.CreateSigned.Click += new System.EventHandler(this.CreateSigned_Click);
			// 
			// Form1
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
			this.ClientSize = new System.Drawing.Size(292, 266);
			this.Controls.AddRange(new System.Windows.Forms.Control[] {
																		  this.CreateSigned});
			this.Name = "Form1";
			this.Text = "Form1";
			this.ResumeLayout(false);

		}
		#endregion

		/// <summary>
		/// The main entry point for the application.
		/// </summary>
		[STAThread]
		static void Main() 
		{
			Application.Run(new Form1());
		}

		// Converts any kind of file into an S/MIME message with
		// an attached (opaque) digital signature.
		private void CreateSigned_Click(object sender, System.EventArgs e)
		{
			Chilkat.Mime mime = new Chilkat.Mime();
			
			// Get a 30-day trial code from http://www.chilkatsoft.com/register30.asp
			mime.UnlockComponent("UnlockCode");
			mime.SetBodyFromPlainText("This is a message containing a GIF image file.");
			mime.AppendPartFromFile("dude.gif");
			mime.SaveMime("unsigned.txt");

			// Locate a certificate in the Current User Store (in the registry)
			// There are many different ways of locating and using certificates
			// using Cert, CertStore and CreateCS.
			Chilkat.CreateCS ccs = new Chilkat.CreateCS();
			Chilkat.CertStore certStore = ccs.OpenCurrentUserStore();
			Chilkat.Cert cert = certStore.FindCertForEmail("matt@chilkatsoft.com");

			// Use the certificate for signing.
			// This creates a signed message.
			mime.ConvertToSigned(cert);
			mime.SaveMime("signed.txt");
		}
	}
}

// Relevant keywords: mime type, mime format, mime tool, mime decoder, mime file, mime decode
// mime attachment, mime reader, mime download, mime converter, mime content type,
// mime encoding, mime version 1.0, mime pic, mime video, mime software, mime viewer,
// mime file, mime protocol, mime rfc, mime header, email mime, mail mime, mime decoding,
// mime message, mime file type, mime html, mime downloads, mime parser, mime pdf, convert mime
/*
 *	content-disposition: attachment; filename="smime.p7m"
	content-transfer-encoding: base64
	content-type: application/x-pkcs7-mime;
		name="smime.p7m";
		smime-type=signed-data
 * 
 * */

 

 

 

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2008 Chilkat Software, Inc. All Rights Reserved.

Email Component · XML Parser