Delphi Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Delphi Examples

Bounced Mail
Bz2
Character Encoding
CSV
DKIM / DomainKey
Digital Certificates
Digital Signatures
DH Key Exchange
DSA
Email
Email Object
FTP
HTML-to-XML
HTTP
IMAP
Encryption
MHT / HTML Email
NTLM
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
Bzip2
LZW

Type Conversion

 

Article: Understanding COM References in Delphi

Generate RSA SSH Key

Generates an RSA SSH key and saves to various public and private key file formats (OpenSSH and PuTTY).

Download Chilkat SSH / SFTP ActiveX

uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls,
    CHILKATRSALib_TLB,
    CHILKATSSHLib_TLB,
    OleCtrls;

...

procedure TForm1.Button1Click(Sender: TObject);
var
key: TChilkatSshKey;
success: Integer;
numBits: Integer;
exponent: Integer;
exportedKey: String;
exportEncrypted: Integer;

begin
key := TChilkatSshKey.Create(Self);

//  numBits may range from 384 to 4096.  Typical values are
//  1024 or 2048.  (must be a multiple of 64)
//  A good choice for the exponent is 65537.  Chilkat recommends
//  always using this value.
numBits := 2048;
exponent := 65537;
success := key.GenerateRsaKey(numBits,exponent);
if (success <> 1) then
  begin
    Memo1.Lines.Add('Bad params passed to RSA key generation method.');
    Exit;
  end;

//  Note: Generating a public/private key pair is CPU intensive
//  and may take a short amount of time (more than few seconds,
//  but less than a minute).

//  Export the RSA private key to OpenSSH, PuTTY, and XML and save.
exportEncrypted := 0;
exportedKey := key.ToOpenSshPrivateKey(exportEncrypted);
//  Chilkat provides a SaveText method for convenience...
success := key.SaveText(exportedKey,'privkey_openssh_unencrypted.pem');

//  Export with encryption to OpenSSH private key format:
key.Password := 'secret';
exportEncrypted := 1;
exportedKey := key.ToOpenSshPrivateKey(exportEncrypted);
success := key.SaveText(exportedKey,'privkey_openssh_encrypted.pem');

//  Export the RSA private key to unencrypted PuTTY format:
exportEncrypted := 0;
exportedKey := key.ToPuttyPrivateKey(exportEncrypted);
success := key.SaveText(exportedKey,'privkey_putty_unencrypted.ppk');

//  Export the RSA private key to encrypted PuTTY format:
key.Password := 'secret';
exportEncrypted := 1;
exportedKey := key.ToPuttyPrivateKey(exportEncrypted);
success := key.SaveText(exportedKey,'privkey_putty_encrypted.ppk');

//  Export private key to XML:
exportedKey := key.ToXml();
success := key.SaveText(exportedKey,'privkey.xml');

//  ----------------------------------------------------
//  Now for the public key....
//  ----------------------------------------------------

//  The Secure Shell (SSH) Public Key File Format
//  is documented in RFC 4716.
exportedKey := key.ToRfc4716PublicKey();
success := key.SaveText(exportedKey,'pubkey_rfc4716.pub');

//  OpenSSH has a separate public-key file format, which
//  is also supported by Chilkat SshKey:
exportedKey := key.ToOpenSshPublicKey();
success := key.SaveText(exportedKey,'pubkey_openSsh.pub');
end;

 

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

Mail Component · .NET Email Component · XML Parser