Chilkat • HOME • Android™ • AutoIt • C • C# • C++ • Chilkat2-Python • CkPython • Classic ASP • DataFlex • Delphi DLL • Go • Java • Node.js • Objective-C • PHP Extension • Perl • PowerBuilder • PowerShell • PureBasic • Ruby • SQL Server • Swift • Tcl • Unicode C • Unicode C++ • VB.NET • VBScript • Visual Basic 6.0 • Visual FoxPro • Xojo Plugin
(Tcl) Generate DSA SSH KeyGenerates a DSA SSH key and saves to various public and private key file formats (OpenSSH and PuTTY).
load ./chilkat.dll set key [new_CkSshKey] # numBits should be a minimum of 1024 and # a multiple of 64. Typical values are # 1024 or 2048. set numBits 2048 set success [CkSshKey_GenerateDsaKey $key $numBits] if {$success != 1} then { puts "Invalid numBits passed to DSA key generation method." delete_CkSshKey $key 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. set exportEncrypted 0 set exportedKey [CkSshKey_toOpenSshPrivateKey $key $exportEncrypted] # Chilkat provides a SaveText method for convenience... set success [CkSshKey_SaveText $key $exportedKey "privkey_openssh_unencrypted.pem"] # Export with encryption to OpenSSH private key format: CkSshKey_put_Password $key "secret" set exportEncrypted 1 set exportedKey [CkSshKey_toOpenSshPrivateKey $key $exportEncrypted] set success [CkSshKey_SaveText $key $exportedKey "privkey_openssh_encrypted.pem"] # Export the DSA private key to unencrypted PuTTY format: set exportEncrypted 0 set exportedKey [CkSshKey_toPuttyPrivateKey $key $exportEncrypted] set success [CkSshKey_SaveText $key $exportedKey "privkey_putty_unencrypted.ppk"] # Export the DSA private key to encrypted PuTTY format: CkSshKey_put_Password $key "secret" set exportEncrypted 1 set exportedKey [CkSshKey_toPuttyPrivateKey $key $exportEncrypted] set success [CkSshKey_SaveText $key $exportedKey "privkey_putty_encrypted.ppk"] # Export private key to XML: set exportedKey [CkSshKey_toXml $key] set success [CkSshKey_SaveText $key $exportedKey "privkey.xml"] # ---------------------------------------------------- # Now for the public key.... # ---------------------------------------------------- # The Secure Shell (SSH) Public Key File Format # is documented in RFC 4716. set exportedKey [CkSshKey_toRfc4716PublicKey $key] set success [CkSshKey_SaveText $key $exportedKey "pubkey_rfc4716.pub"] # OpenSSH has a separate public-key file format, which # is also supported by Chilkat SshKey: set exportedKey [CkSshKey_toOpenSshPublicKey $key] set success [CkSshKey_SaveText $key $exportedKey "pubkey_openSsh.pub"] puts "Finished." delete_CkSshKey $key |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.