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

 

 

 

 

 

 

HTTPS Upload with Client SSL Certificate

This example shows how to use a client-side certificate with HTTPS to upload one or more files to a web server.

Download Chilkat .NET for 2.0 Framework

Download Chilkat .NET for 1.0 / 1.1 Framework

bool success;

//  Chilkat supports SSL with all of its Internet components:
//  SMTP, POP3, IMAP, FTP, and HTTP.

//  Each component includes a method named SetSslClientCert
//  which has one argument -- a Chilkat certificate object.
//  You'll need to use a certificate where you have
//  a private key.  There are many ways to instantiate
//  and load a certificate into a Chilkat certificate object.
//  It may be loaded directly from a .pfx (or .p12) file.
//  It may be loaded from a certificate that has already
//  been installed into the local machine's (registry-based)
//  certificate store, or the current-user certificate store.
//  It may be loaded from a pair of PEM or DER encoded files
//  (one file for the ceritifcate, and one for the corresponding
//  private key).  Browse through the examples at
//  example-code.com for various examples (in the Digital
//  Certificates section).

//  This example will load a cert from a .pfx (i.e. p12) file.

//  Create an instance of a certificate store object, load a PFX file,
//  locate the certificate we need, and use it for signing.
//  (a PFX file may contain more than one certificate.)
Chilkat.CertStore certStore = new Chilkat.CertStore();
//  The 1st argument is the filename, the 2nd arg is the
//  PFX file's password:
success = certStore.LoadPfxFile("chilkat.pfx","secret");
if (success != true) {
    MessageBox.Show(certStore.LastErrorText);
    return;
}

Chilkat.Cert cert = null;
cert = certStore.FindCertBySubjectCN("Chilkat Software, Inc.");
if (cert == null ) {
    MessageBox.Show(certStore.LastErrorText);
    return;
}

//  If a PFX file is known to contain a single certificate,
//  you may load it directly into a Chilkat certificate object.
//  This snippet of source code shows how:
Chilkat.Cert cert2 = new Chilkat.Cert();
//  The 1st argument is the filename, the 2nd arg is the
//  PFX file's password:
success = cert2.LoadPfxFile("chilkat.pfx","secret");
if (success != true) {
    MessageBox.Show(cert2.LastErrorText);
    return;
}

Chilkat.Http http = new Chilkat.Http();

//  Any string unlocks the component for the 1st 30-days.
success = http.UnlockComponent("Anything for 30-day trial");
if (success != true) {
    MessageBox.Show(http.LastErrorText);
    return;
}

//  Set your HTTPS client certificate:
http.SetSslClientCert(cert);

//  Build a HTTPS upload request with the files to be uploaded:
Chilkat.HttpRequest req = new Chilkat.HttpRequest();
req.UseUpload();

//  The URL we'll be posting to is:
//  http://www.yourwebserver123abc.com/ConsumeUpload.aspx
//  Therefore, the path part of the URL is:
req.Path = "/ConsumeUpload.aspx";

//  Note: You'll need to edit this example to upload to your
//  own web server.

//  Add some files to the request:
//  The 1st argument is an arbitrary name.  It's the POST form field name.
//  The 2nd argument is the filename currently existing on
//  the local filesystem.  It may include an absolute or relative
//  path, or no path at all if it's in the current working directory.
success = req.AddFileForUpload("file1","hamlet.xml");
if (success != true) {
    MessageBox.Show(req.LastErrorText);
    return;
}

success = req.AddFileForUpload("file2","dude.gif");
if (success != true) {
    MessageBox.Show(req.LastErrorText);
    return;
}

//  Send the HTTPS POST and get the response.  Note: This is a blocking call.
//  The method does not return until the full HTTPS response is received.
string domain;
int port;
bool ssl;
domain = "www.yourwebserver123abc.com";
//  The only difference in coding between non-SSL and SSL is
//  the setting of these two arguments to SynchronousRequest:
port = 443;
ssl = true;
Chilkat.HttpResponse resp = null;
resp = http.SynchronousRequest(domain,port,ssl,req);
if (resp == null ) {
    textBox1.Text += http.LastErrorText + "\r\n";
    textBox1.Refresh();
}
else {
    //  Display the HTML source of the page returned.
    textBox1.Text += resp.BodyStr + "\r\n";
    textBox1.Refresh();
}

 

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

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

Email Component · XML Parser