Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
Create S/MIME Signed-Data Message in C# 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.