Visual FoxPro
Visual FoxPro
Generate DSA SSH Key
See more SSH Key Examples
Generates a DSA SSH key and saves to various public and private key file formats (OpenSSH and PuTTY).Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loKey
LOCAL lnNumBits
LOCAL lcExportedKey
LOCAL lnExportEncrypted
lnSuccess = 0
loKey = CreateObject('Chilkat.SshKey')
* numBits should be a minimum of 1024 and
* a multiple of 64. Typical values are
* 1024 or 2048.
lnNumBits = 2048
lnSuccess = loKey.GenerateDsaKey(lnNumBits)
IF (lnSuccess <> 1) THEN
? "Invalid numBits passed to DSA key generation method."
RELEASE loKey
CANCEL
ENDIF
* 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.
lnExportEncrypted = 0
lcExportedKey = loKey.ToOpenSshPrivateKey(lnExportEncrypted)
* Chilkat provides a SaveText method for convenience...
lnSuccess = loKey.SaveText(lcExportedKey,"privkey_openssh_unencrypted.pem")
* Export with encryption to OpenSSH private key format:
loKey.Password = "secret"
lnExportEncrypted = 1
lcExportedKey = loKey.ToOpenSshPrivateKey(lnExportEncrypted)
lnSuccess = loKey.SaveText(lcExportedKey,"privkey_openssh_encrypted.pem")
* Export the DSA private key to unencrypted PuTTY format:
lnExportEncrypted = 0
lcExportedKey = loKey.ToPuttyPrivateKey(lnExportEncrypted)
lnSuccess = loKey.SaveText(lcExportedKey,"privkey_putty_unencrypted.ppk")
* Export the DSA private key to encrypted PuTTY format:
loKey.Password = "secret"
lnExportEncrypted = 1
lcExportedKey = loKey.ToPuttyPrivateKey(lnExportEncrypted)
lnSuccess = loKey.SaveText(lcExportedKey,"privkey_putty_encrypted.ppk")
* Export private key to XML:
lcExportedKey = loKey.ToXml()
lnSuccess = loKey.SaveText(lcExportedKey,"privkey.xml")
* ----------------------------------------------------
* Now for the public key....
* ----------------------------------------------------
* The Secure Shell (SSH) Public Key File Format
* is documented in RFC 4716.
lcExportedKey = loKey.ToRfc4716PublicKey()
lnSuccess = loKey.SaveText(lcExportedKey,"pubkey_rfc4716.pub")
* OpenSSH has a separate public-key file format, which
* is also supported by Chilkat SshKey:
lcExportedKey = loKey.ToOpenSshPublicKey()
lnSuccess = loKey.SaveText(lcExportedKey,"pubkey_openSsh.pub")
? "Finished."
RELEASE loKey