# Bitvise SSH Client: Installed resources

# Components that can be used directly

# BvSsh.exe

Our general-purpose, graphical SSH client. Supports terminal shell, graphical SFTP file transfers, single-click Remote Desktop tunneling, bridging of FTP clients to SFTP, port forwarding with static rules and via integrated proxy, and remote administration of Bitvise SSH Server.

# BvSshCtrl.exe, BvSshCtrl.cpp

Bitvise SSH Client Control utility - run BvSshCtrl without parameters for help. C++ source code is provided.

# sftpc.exe

Command-line SFTP client with built-in scripting support. Run it with sftpc -h for help.

# stermc.exe

Command-line terminal client. Run it with stermc -h for help.

# sexec.exe

Command-line scriptable remote execution client. Run it with sexec -h for help.

# stnlc.exe

Command-line scriptable port forwarding and FTP-to-SFTP bridge client. Run it with stnlc -h for help.

# spksc.exe

Command-line scriptable SSH Public Key Subsystem client. Run it with spksc -h for help.

# log.exe

Command-line utility to redirect a program's output into a uniquely named log file. Suitable for use with sftpc as well as any other command-line program. Run it without parameters for help.

# retry.exe

Command-line utility that repeatedly executes the provided command until it succeeds, or a maximum number of attempts have been made. Suitable for use with sftpc as well as any other command-line program. Run it without parameters for help.

# uninst.exe

Bitvise SSH Client uninstaller. It is not usually run directly. Instead, use Add or remove programs in Windows.

To uninstall Bitvise SSH Client in an unattended manner:

1. Copy uninst.exe from the Bitvise SSH Client installation directory to another temporary location.

2. Run it in the temporary folder as follows:

   uninst "BvSshClient" -unat

It is possible to run uninst directly from the SSH Client installation directory. However if you do that, uninst will first copy itself to a temporary location, then run itself and exit. The original instance of uninst will exit before the uninstallation completes. This may cause problems if your script performs other tasks which should wait for the uninstallation.

# Components for use by developers

# FlowSshNetSamples: FlowSshNet_Exec.ps1, FlowSshNet_Sftp.ps1

PowerShell scripts demonstrating use of the FlowSsh library for .NET included with the SSH Client. The Exec script shows how to execute a remote command. The Sftp script shows how to transfer files.

The functionality available via PowerShell + FlowSshNet is similar to that available via sexec and sftpc command line clients. FlowSshNet provides a greater degree of control to advanced users.

# FlowSshC32/64.dll, FlowSshNet32/64.dll, FlowSshNet32/64.msi

Native DLL, .NET assemblies, and installers that comprise the FlowSshC and FlowSshNet libraries.

FlowSshNet can be used under the Bitvise SSH Client license on computers where the SSH Client is installed. A separate FlowSsh license is required for use without Bitvise SSH Client.

# install.log

An installation log file that may be present and contain information if FlowSshNet installation did not complete correctly.

# Components that should NOT be executed directly

# bvtermc.exe, totermc.exe, totermw.exe

The SSH Client's terminal subsystem modules. Used only from within the the SSH Client.

# WRC-5.xx, WRC-6.xx, WRC-7.xx

Bitvise SSH Server Remote Control packages. Can be used from the graphical SSH Client for remote administration of Bitvise SSH Server or WinSSHD 5.xx, 6.xx, and 7.xx.

# MstscTitle32/64.dll/exe

Fixes Remote Desktop window titles when using single-click Remote Desktop forwarding.

# BscActCode.exe

Bitvise SSH Client's activation code manager. Used to apply an activation code so that it's effective machine-wide, instead of only for the current user.

# BvDump32.exe, BvDump64.exe

In the event that an SSH Client process encounters a critical error, this executable is run to create a memory dump of the process that encountered the error. Any memory dumps are stored on the local computer under the current user's %LOCALAPPDATA% directory, under Bitvise\BvDump. If you ever see an error of this type, please contact Bitvise.

# CiCpFips32.dll, CiCpFips64.dll, CryptoPP530Fips32.dll, CryptoPP530Fips64.dll

The SSH Client's older cryptographic provider as used in 6.xx versions. CiCpFips32/64.dll serve as an interface to CryptoPP530Fips32/64.dll, a version of Crypto++ that originally received FIPS 140-2 validation under certificate 819.

This provider should only be used where needed. It contains known issues with timing side channels, which can permit remote private key compromise. Our software implements mitigations, but it is better to use the new provider, CiWinCng.

By default, this cryptographic provider is used on Windows XP and Windows Server 2003, where Windows CNG cryptography is not available. On later Windows versions, this provider can be selected by creating a registry value named "CryptoProvider", with string value "CiCpFips", under the registry key HKLM\Software\Wow6432Node\Bitvise on 64-bit systems, or HKLM\Software\Bitvise on 32-bit systems. This registry value will have machine-wide effect on Bitvise SSH Server, SSH Client, and FlowSsh versions 7.xx and higher.

# CiWinCng32.dll, CiWinCng64.dll

The SSH Client's default cryptographic provider used on all recent versions of Windows, starting from Windows Vista and Windows Server 2008.

This provider uses Windows CNG cryptography for algorithms supported by Windows. It is augmented with OpenSSL and Crypto++ to support algorithms not supported by Windows.

If FIPS mode is enabled in Windows security policy, this provider uses only Windows CNG cryptography. In FIPS mode, only algorithms supported by Windows are available.

This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)

This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).

[+] View OpenSSL Toolkit license

OpenSSL License --------------- /* ==================================================================== * Copyright (c) 1998-2019 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. All advertising materials mentioning features or use of this * software must display the following acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" * * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to * endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openssl-core@openssl.org. * * 5. Products derived from this software may not be called "OpenSSL" * nor may "OpenSSL" appear in their names without prior written * permission of the OpenSSL Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgment: * "This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED * OF THE POSSIBILITY OF SUCH DAMAGE. * ==================================================================== * * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ Original SSLeay License ----------------------- /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * * This package is an SSL implementation written * by Eric Young (eay@cryptsoft.com). * The implementation was written so as to conform with Netscapes SSL. * * This library is free for commercial and non-commercial use as long as * the following conditions are aheared to. The following conditions * apply to all code found in this distribution, be it the RC4, RSA, * lhash, DES, etc., code; not just the SSL code. The SSL documentation * included with this distribution is covered by the same copyright terms * except that the holder is Tim Hudson (tjh@cryptsoft.com). * * Copyright remains Eric Young's, and as such any Copyright notices in * the code are not to be removed. * If this package is used in a product, Eric Young should be given attribution * as the author of the parts of the library used. * This can be in the form of a textual message at program startup or * in documentation (online or textual) provided with the package. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * "This product includes cryptographic software written by * Eric Young (eay@cryptsoft.com)" * The word 'cryptographic' can be left out if the rouines from the library * being used are not cryptographic related :-). * 4. If you include any Windows specific code (or a derivative thereof) from * the apps directory (application code) you must include an acknowledgement: * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" * * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * The licence and distribution terms for any publically available version or * derivative of this code cannot be changed. i.e. this code cannot simply be * copied and put under another distribution licence * [including the GNU Public Licence.] */