|  | 
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
| (PowerBuilder) Generate RSA SSH KeySee more SSH Key ExamplesGenerates an RSA SSH key and saves to various public and private key file formats (OpenSSH and PuTTY).
 integer li_rc oleobject loo_Key integer li_NumBits integer li_Exponent integer li_Success string ls_ExportedKey integer li_ExportEncrypted loo_Key = create oleobject // Use "Chilkat_9_5_0.SshKey" for versions of Chilkat < 10.0.0 li_rc = loo_Key.ConnectToNewObject("Chilkat.SshKey") if li_rc < 0 then destroy loo_Key MessageBox("Error","Connecting to COM object failed") return end if // 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. li_NumBits = 2048 li_Exponent = 65537 li_Success = loo_Key.GenerateRsaKey(li_NumBits,li_Exponent) if li_Success <> 1 then Write-Debug "Bad params passed to RSA key generation method." destroy loo_Key return end if // 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. li_ExportEncrypted = 0 ls_ExportedKey = loo_Key.ToOpenSshPrivateKey(li_ExportEncrypted) // Chilkat provides a SaveText method for convenience... li_Success = loo_Key.SaveText(ls_ExportedKey,"privkey_openssh_unencrypted.pem") // Export with encryption to OpenSSH private key format: loo_Key.Password = "secret" li_ExportEncrypted = 1 ls_ExportedKey = loo_Key.ToOpenSshPrivateKey(li_ExportEncrypted) li_Success = loo_Key.SaveText(ls_ExportedKey,"privkey_openssh_encrypted.pem") // Export the RSA private key to unencrypted PuTTY format: li_ExportEncrypted = 0 ls_ExportedKey = loo_Key.ToPuttyPrivateKey(li_ExportEncrypted) li_Success = loo_Key.SaveText(ls_ExportedKey,"privkey_putty_unencrypted.ppk") // Export the RSA private key to encrypted PuTTY format: loo_Key.Password = "secret" li_ExportEncrypted = 1 ls_ExportedKey = loo_Key.ToPuttyPrivateKey(li_ExportEncrypted) li_Success = loo_Key.SaveText(ls_ExportedKey,"privkey_putty_encrypted.ppk") // Export private key to XML: ls_ExportedKey = loo_Key.ToXml() li_Success = loo_Key.SaveText(ls_ExportedKey,"privkey.xml") // ---------------------------------------------------- // Now for the public key.... // ---------------------------------------------------- // The Secure Shell (SSH) Public Key File Format // is documented in RFC 4716. ls_ExportedKey = loo_Key.ToRfc4716PublicKey() li_Success = loo_Key.SaveText(ls_ExportedKey,"pubkey_rfc4716.pub") // OpenSSH has a separate public-key file format, which // is also supported by Chilkat SshKey: ls_ExportedKey = loo_Key.ToOpenSshPublicKey() li_Success = loo_Key.SaveText(ls_ExportedKey,"pubkey_openSsh.pub") Write-Debug "Finished." destroy loo_Key | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.