Delphi Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Delphi Examples

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

More Examples...
Byte Array
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate

Unreleased...
Bzip2
LZW
Icon

Type Conversion

 

Article: Understanding COM References in Delphi

Create S/MIME with Opaque Digital Signature

Delphi example to create a simple S/MIME message with an attached (opaque) digital signature.

uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls,
    CHILKATMIMELib_TLB,
    CHILKATCERTIFICATELib_TLB,
    OleCtrls;

...

procedure TForm1.Button1Click(Sender: TObject);
var
mime: CHILKATMIMELib_TLB.IChilkatMime;
success: Integer;
ccs: TChilkatCreateCS;
certStore: CHILKATCERTIFICATELib_TLB.IChilkatCertStore;
cert: IChilkatCert;

begin
mime := CoChilkatMime.Create();

//  Any string argument automatically begins the 30-day trial.
success := mime.UnlockComponent('30-day trial');
if (success <> 1) then
  begin
    ShowMessage('MIME component unlock failed');

  end;

//  Find our digital certificate from the Current User certificate store.
ccs := TChilkatCreateCS.Create(Self);

certStore := ccs.OpenCurrentUserStore();

cert := certStore.FindCertBySubjectCN('Chilkat Software, Inc.');

if (cert = nil ) then
  begin
    ShowMessage(cert.LastErrorText);

  end;

//  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');

Memo1.Lines.Add('Original MIME message:');
Memo1.Lines.Add(mime.GetMime());

//  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
//  ----------------------------------

//  Convert the MIME to a signed message.  The original MIME
//  is embedded in
success := mime.ConvertToSigned(cert as CHILKATMIMELib_TLB.IChilkatCert);
if (success <> 1) then
  begin
    ShowMessage(mime.LastErrorText);

  end;

Memo1.Lines.Add('----------------------------------');
Memo1.Lines.Add('Signed Message:');
Memo1.Lines.Add(mime.GetMime());

ShowMessage('Success!');

//  The resulting S/MIME looks like this:
//  --------------------------------
//  subject: this is a test
//  test123: this is a test 123
//  content-disposition: attachment;
//  	 filename="smime.p7m"
//  content-transfer-encoding: base64
//  content-type: application/x-pkcs7-mime;
//  	name="smime.p7m";smime-type=signed-data
// 
//  MIIGgAYJKoZIhvcNAQcCoIIGcTCCBm0CAQExCzAJBgUrDgMCGgUAMIGKBgkqhkiG9w0BBwGg
//  fQR7c3ViamVjdDogdGhpcyBpcyBhIHRlc3QNCnRlc3QxMjM6IHRoaXMgaXMgYSB0ZXN0IDEy
//  Mw0KY29udGVudC10eXBlOiB0ZXh0L3BsYWluOw0KCSBjaGFyc2V0PSJpc28tODg1OS0xIg0K
//  DQpUaGlzIGlzIHRoZSBib2R5oIID2TCCA9UwggM+oAMCAQICEHii5NwCYuzOsaLXvSTV15Iw
//  DQYJKoZIhvcNAQEFBQAwVTELMAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0
//  aW5nIChQdHkpIEx0ZC4xHzAdBgNVBAMTFlRoYXd0ZSBDb2RlIFNpZ25pbmcgQ0EwHhcNMDcw
//  MTE1MDAwMDAwWhcNMDgwMTE1MjM1OTU5WjCBnTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCEls
//  bGlub2lzMRAwDgYDVQQHEwdXaGVhdG9uMR8wHQYDVQQKExZDaGlsa2F0IFNvZnR3YXJlLCBJ
//  bmMuMScwJQYDVQQLEx5TZWN1cmUgQXBwbGljYXRpb24gRGV2ZWxvcG1lbnQxHzAdBgNVBAMT
//  FkNoaWxrYXQgU29mdHdhcmUsIEluYy4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
//  AQDBHa3pv8qfhXM0I6WPVgaQfENg9Wd9k0h47uGa62t4rqSv3jGb1GVCf6+Q3W5EyG9Js512
//  z4Hbmj4DIB64GYuy7Gg1EIL0BRtrfuljx4vTgBpMQCbfnS1+ccZPjiOhJ0U+hbkP3VMNqt7q
//  rlRppxx0S1dTj8saqH6ccH0h1+3RL+sik/Y8r1MDBDlXx2Uy4FBAD4FQKDkxj2ipmC2eRfs7
//  o4lKTwxPSVSFWDsQCB72JTHsS7ihYrzx+Q6jzWmoeiBOkZ/LieJtaDvZeQ+TXfmV4zD8mZ7f
//  urs5H/Obodx4WXLI7RYvV9jHT0+lhuPWVg29WjyffyiFPxP/uHc3gZSVAgMBAAGjgdgwgdUw
//  DAYDVR0TAQH/BAIwADA+BgNVHR8ENzA1MDOgMaAvhi1odHRwOi8vY3JsLnRoYXd0ZS5jb20v
//  VGhhd3RlQ29kZVNpZ25pbmdDQS5jcmwwHwYDVR0lBBgwFgYIKwYBBQUHAwMGCisGAQQBgjcC
//  ARYwHQYDVR0EBBYwFDAOMAwGCisGAQQBgjcCARYDAgeAMDIGCCsGAQUFBwEBBCYwJDAiBggr
//  BgEFBQcwAYYWaHR0cDovL29jc3AudGhhd3RlLmNvbTARBglghkgBhvhCAQEEBAMCBBAwDQYJ
//  KoZIhvcNAQEFBQADgYEABQxzFRt6jkdMMoxrEwUXLeID2L+R7hUsXD3vIQbetotMdlSVHBXH
//  AsYuZbzV1j/ricQMSAqLch+6iF8DRrc3ct3vPAvV/+F0balCKAty8zKY/2OPoMRDE6zTeIAM
//  WC4ymqRvv2FttRHOwpfum9a42NBUaKjBO6jUle5Juyppbu8xggHvMIIB6wIBATBpMFUxCzAJ
//  BgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMR8wHQYD
//  VQQDExZUaGF3dGUgQ29kZSBTaWduaW5nIENBAhB4ouTcAmLszrGi170k1deSMAkGBSsOAwIa
//  BQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0wNzA0MDQx
//  OTU1NDVaMCMGCSqGSIb3DQEJBDEWBBSXCN4QT4iPlNbNV3X7AzYezFL9oDANBgkqhkiG9w0B
//  AQEFAASCAQBqnhXsUVYMz2y92Qg0ciB1wVxP6DC8cgTPPIWfSFAcIR6Irk4BqzS5LarDZlfB
//  k85poqggff/m5kuyJfUNehTC0VnhAasCX0VjU+Bsr1k0c7gejges1EiuNJJo7q4Usp3+c5k9
//  ZSEIM95hp2rDKyzZdyvSAbFGI029RII0SNyU6g6rX3/FZhJqc+DbhLHax3RMERFqLvdmmREz
//  zIcRbt5y3VR3+bjD0tnvP5ynlg3rT4ubKWS/OormEPc20FwTHb8nCep3ZyGrUKusD7AWV3qv
//  0+IKpAWNsZ7CgDjcR+j9oz7Q8Y/17FgHflEypf3xR5TWBY/tCwx02GT7a9vpXbHT
// 
// 

end;

 

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

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

Mail Component · .NET Email Component · XML Parser