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) SSH Set Allowed AlgorithmsSee more SSH ExamplesDemonstrates how to explicitly set the algorithms allowed in the SSH connection protocol. Note: This example requires Chilkat v9.5.0.99 or greater.
integer li_rc integer li_Success oleobject loo_Ssh oleobject loo_Json string ls_Allowed_kex string ls_Allowed_hostKey string ls_Allowed_cipher string ls_Allowed_mac integer li_Port // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. loo_Ssh = create oleobject // Use "Chilkat_9_5_0.Ssh" for versions of Chilkat < 10.0.0 li_rc = loo_Ssh.ConnectToNewObject("Chilkat.Ssh") if li_rc < 0 then destroy loo_Ssh MessageBox("Error","Connecting to COM object failed") return end if loo_Json = create oleobject // Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0 li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject") // Here are the algorithms supported by Chilkat at the time this example was written (14-June-2024) // --------------------------- // SSH Key-Exchange Algorithms // --------------------------- // curve25519-sha256 // curve25519-sha256@libssh.org // ecdh-sha2-nistp256 // ecdh-sha2-nistp384 // ecdh-sha2-nistp521 // diffie-hellman-group14-sha256 // diffie-hellman-group16-sha512 // diffie-hellman-group18-sha512 // diffie-hellman-group-exchange-sha256 // diffie-hellman-group1-sha1 // diffie-hellman-group14-sha1 // diffie-hellman-group-exchange-sha1 // --------------------------- // SSH Host Key Algorithms // --------------------------- // ssh-ed25519 // ecdsa-sha2-nistp256 // ecdsa-sha2-nistp384 // ecdsa-sha2-nistp521 // rsa-sha2-256 // rsa-sha2-512 // ssh-rsa // ssh-dss // --------------------------- // SSH Cipher Algorithms // --------------------------- // chacha20-poly1305@openssh.com // aes128-ctr // aes256-ctr // aes192-ctr // aes128-cbc // aes256-cbc // aes192-cbc // aes128-gcm@openssh.com // aes256-gcm@openssh.com // twofish256-cbc // twofish128-cbc // blowfish-cbc // --------------------------- // SSH MAC Algorithms // --------------------------- // hmac-sha2-256 // hmac-sha2-512 // hmac-sha2-256-etm@openssh.com // hmac-sha2-512-etm@openssh.com // hmac-sha1-etm@openssh.com // hmac-sha1 // hmac-ripemd160 // hmac-sha1-96 // hmac-md5 // Specify the allowed key-exchange, host-key, cipher (i.e. encryption), and mac (i.e. hash) algorithms allowed, in the order of preference. // ------------------------------------------------------------------------------------------------------------------------------------------- // Note: You typically should NOT explicitly set allowed algorithms. // By default, Chilkat orders algorithms according to best practices, and pays attention to vulnerabilities such as the "Terrapin Attack". // Hard-coding algorthims can make your application brittle and prone to breaking over a long period of time, // if a server (at some point in the future) changes its allowed algorithms, or if you connect to a different server, // such that the client (Chilkat) and server cannot find a set of mutually agreed-upon algorithms. // ------------------------------------------------------------------------------------------------------------------------------------------- ls_Allowed_kex = "curve25519-sha256@libssh.org,ecdh-sha2-nistp256" ls_Allowed_hostKey = "ssh-ed25519,ecdsa-sha2-nistp256" ls_Allowed_cipher = "chacha20-poly1305@openssh.com,aes256-ctr" ls_Allowed_mac = "hmac-sha2-256,hmac-sha2-512" loo_Json.UpdateString("kex",ls_Allowed_kex) loo_Json.UpdateString("hostKey",ls_Allowed_hostKey) loo_Json.UpdateString("cipher",ls_Allowed_cipher) loo_Json.UpdateString("mac",ls_Allowed_mac) loo_Ssh.SetAllowedAlgorithms(loo_Json) li_Port = 22 li_Success = loo_Ssh.Connect("example.com",li_Port) if li_Success <> 1 then Write-Debug loo_Ssh.LastErrorText destroy loo_Ssh destroy loo_Json return end if Write-Debug "Connected." // .... // .... destroy loo_Ssh destroy loo_Json |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.