Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PowerBuilder) Convert PuTTY Private Key (ppk) to OpenSSH (pem)Convert a PuTTY format private key file (.ppk) to OpenSSH (.pem).
integer li_rc oleobject loo_Key integer li_Success string ls_KeyStr string ls_UnencryptedKeyStr integer li_BEncrypt string ls_EncryptedKeyStr 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 // Load an unencrypted or encrypted PuTTY private key. // If your PuTTY private key is encrypted, set the Password // property before calling FromPuttyPrivateKey. // If your PuTTY private key is not encrypted, it makes no diffference // if Password is set or not set. loo_Key.Password = "secret" // First load the .ppk file into a string: ls_KeyStr = loo_Key.LoadText("putty_private_key.ppk") // Import into the SSH key object: li_Success = loo_Key.FromPuttyPrivateKey(ls_KeyStr) if li_Success <> 1 then Write-Debug loo_Key.LastErrorText destroy loo_Key return end if // Convert to an encrypted or unencrypted OpenSSH key. // First demonstrate converting to an unencrypted OpenSSH key li_BEncrypt = 0 ls_UnencryptedKeyStr = loo_Key.ToOpenSshPrivateKey(li_BEncrypt) li_Success = loo_Key.SaveText(ls_UnencryptedKeyStr,"unencrypted_openssh.pem") if li_Success <> 1 then Write-Debug loo_Key.LastErrorText destroy loo_Key return end if // Save to an encrypted OpenSSH PEM file: li_BEncrypt = 1 loo_Key.Password = "myPassword" ls_EncryptedKeyStr = loo_Key.ToOpenSshPrivateKey(li_BEncrypt) li_Success = loo_Key.SaveText(ls_EncryptedKeyStr,"encrypted_openssh.pem") if li_Success <> 1 then Write-Debug loo_Key.LastErrorText destroy loo_Key return end if Write-Debug "Done!" destroy loo_Key |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.