Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
SSL Client CertificateDemonstrates how to connect to an SSL server using a client-side certificate, send a simple message, receive a simple response, and disconnect.
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CHILKATCERTIFICATELib_TLB, CHILKATSOCKETLib_TLB, OleCtrls; ... procedure TForm1.Button1Click(Sender: TObject); var socket: TChilkatSocket; success: Integer; certStore: CHILKATCERTIFICATELib_TLB.IChilkatCertStore; cert: CHILKATSOCKETLib_TLB.IChilkatCert; ssl: Integer; maxWaitMillisec: Integer; sslServerHost: String; sslServerPort: Integer; receivedMsg: String; begin socket := TChilkatSocket.Create(Self); success := socket.UnlockComponent('Anything for 30-day trial'); if (success <> 1) then begin ShowMessage('Failed to unlock component'); end; // 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.) certStore := CoChilkatCertStore.Create(); // The 1st argument is the filename, the 2nd arg is the // PFX file's password: success := certStore.LoadPfxFile('chilkat_secret.pfx','secret'); if (success <> 1) then begin ShowMessage(certStore.LastErrorText); end; cert := certStore.FindCertBySubjectCN('Chilkat Software, Inc.') As CHILKATSOCKETLib_TLB.IChilkatCert; if (cert = nil ) then begin ShowMessage(certStore.LastErrorText); end; socket.SetSslClientCert(cert As CHILKATSOCKETLib_TLB.IChilkatCert); ssl := 1; maxWaitMillisec := 20000; // The SSL server hostname may be an IP address, a domain name, // or "localhost". You'll need to change this: sslServerHost := '123.123.88.88'; sslServerPort := 8123; // Connect to the SSL server: success := socket.Connect(sslServerHost,sslServerPort,ssl,maxWaitMillisec); if (success <> 1) then begin ShowMessage(socket.LastErrorText); end; // Set maximum timeouts for reading an writing (in millisec) socket.MaxReadIdleMs := 20000; socket.MaxSendIdleMs := 20000; // Send a "Hello Server! -EOM-" message: success := socket.SendString('Hello Server! -EOM-'); if (success <> 1) then begin ShowMessage(socket.LastErrorText); end; // The server (in this example) is going to send a "Hello Client! -EOM-" // message. Read it: receivedMsg := socket.ReceiveUntilMatch('-EOM-'); if (receivedMsg = NULL ) then begin ShowMessage(socket.LastErrorText); end; // Close the connection with the server // Wait a max of 20 seconds (20000 millsec) socket.Close(20000); ShowMessage(receivedMsg); end; |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.