![]() |
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
(Visual FoxPro) 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.
LOCAL lnSuccess LOCAL loSsh LOCAL loJson LOCAL lcAllowed_kex LOCAL lcAllowed_hostKey LOCAL lcAllowed_cipher LOCAL lcAllowed_mac LOCAL lnPort * This example requires the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Ssh') loSsh = CreateObject('Chilkat.Ssh') * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJson = CreateObject('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. * ------------------------------------------------------------------------------------------------------------------------------------------- lcAllowed_kex = "curve25519-sha256@libssh.org,ecdh-sha2-nistp256" lcAllowed_hostKey = "ssh-ed25519,ecdsa-sha2-nistp256" lcAllowed_cipher = "chacha20-poly1305@openssh.com,aes256-ctr" lcAllowed_mac = "hmac-sha2-256,hmac-sha2-512" loJson.UpdateString("kex",lcAllowed_kex) loJson.UpdateString("hostKey",lcAllowed_hostKey) loJson.UpdateString("cipher",lcAllowed_cipher) loJson.UpdateString("mac",lcAllowed_mac) loSsh.SetAllowedAlgorithms(loJson) lnPort = 22 lnSuccess = loSsh.Connect("example.com",lnPort) IF (lnSuccess <> 1) THEN ? loSsh.LastErrorText RELEASE loSsh RELEASE loJson CANCEL ENDIF ? "Connected." * .... * .... RELEASE loSsh RELEASE loJson |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.