Programming Examples

ChilkatHOMEASPVisual BasicVB.NETC#CC++MFCDelphiFoxProJavaPerlPythonRubySQL ServerVBScript

PHP ActiveX Examples

Bounced Mail
Bz2
Certificates/Keys
Charset
CSV
DKIM / DomainKey
Diffie-Hellman
DSA
Email Object
Encryption
FileAccess
FTP
HTML Conversion
HTTP
IMAP
MHT / HTML Email
MIME
NTLM
POP3
RSA
SMTP
Socket
Spider
SSH Key
SSH
SSH Tunnel
SFTP
Tar
Upload
XML
Zip
Amazon S3


 

 

 

 

 

 

 

 

Generate DSA SSH Key

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

Download Chilkat 32-bit SSH / SFTP ActiveX (.msi)

Download All 32-bit Chilkat ActiveX Components (.zip)

Download All 64-bit Chilkat ActiveX Components (.zip)

<?php

$key = new COM("Chilkat.SshKey");

//  numBits should be a minimum of 1024 and
//  a multiple of 64.  Typical values are
//  1024 or 2048.
$numBits = 2048;
$success = $key->GenerateDsaKey($numBits);
if ($success != true) {
    print 'Invalid numBits passed to DSA key generation method.' . "\n";
    exit;
}

//  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 DSA private key to OpenSSH, PuTTY, and XML and save.
$exportEncrypted = false;
$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 = true;
$exportedKey = $key->toOpenSshPrivateKey($exportEncrypted);
$success = $key->SaveText($exportedKey,'privkey_openssh_encrypted.pem');

//  Export the DSA private key to unencrypted PuTTY format:
$exportEncrypted = false;
$exportedKey = $key->toPuttyPrivateKey($exportEncrypted);
$success = $key->SaveText($exportedKey,'privkey_putty_unencrypted.ppk');

//  Export the DSA private key to encrypted PuTTY format:
$key->Password = 'secret';
$exportEncrypted = true;
$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');

print 'Finished.' . "\n";

?>

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