|  | @@ -23,7 +23,7 @@ namespace Renci.SshNet
 | 
	
		
			
				|  |  |          /// <param name="username">Connection username.</param>
 | 
	
		
			
				|  |  |          /// <param name="password">Connection password.</param>
 | 
	
		
			
				|  |  |          public PasswordConnectionInfo(string host, string username, string password)
 | 
	
		
			
				|  |  | -            : this(host, 22, username, password)
 | 
	
		
			
				|  |  | +            : this(host, 22, username, Encoding.UTF8.GetBytes(password))
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -39,7 +39,7 @@ namespace Renci.SshNet
 | 
	
		
			
				|  |  |          /// <exception cref="ArgumentException"><paramref name="host"/> is invalid, or <paramref name="username"/> is null or contains whitespace characters.</exception>
 | 
	
		
			
				|  |  |          /// <exception cref="ArgumentOutOfRangeException"><paramref name="port"/> is not within <see cref="f:IPEndPoint.MinPort"/> and <see cref="f:IPEndPoint.MaxPort"/>.</exception>
 | 
	
		
			
				|  |  |          public PasswordConnectionInfo(string host, int port, string username, string password)
 | 
	
		
			
				|  |  | -            : this(host, port, username, password, ProxyTypes.None, string.Empty, 0, string.Empty, string.Empty)
 | 
	
		
			
				|  |  | +            : this(host, port, username, Encoding.UTF8.GetBytes(password), ProxyTypes.None, string.Empty, 0, string.Empty, string.Empty)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -54,7 +54,7 @@ namespace Renci.SshNet
 | 
	
		
			
				|  |  |          /// <param name="proxyHost">The proxy host.</param>
 | 
	
		
			
				|  |  |          /// <param name="proxyPort">The proxy port.</param>
 | 
	
		
			
				|  |  |          public PasswordConnectionInfo(string host, int port, string username, string password, ProxyTypes proxyType, string proxyHost, int proxyPort)
 | 
	
		
			
				|  |  | -            : this(host, port, username, password, proxyType, proxyHost, proxyPort, string.Empty, string.Empty)
 | 
	
		
			
				|  |  | +            : this(host, port, username, Encoding.UTF8.GetBytes(password), proxyType, proxyHost, proxyPort, string.Empty, string.Empty)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -70,7 +70,7 @@ namespace Renci.SshNet
 | 
	
		
			
				|  |  |          /// <param name="proxyPort">The proxy port.</param>
 | 
	
		
			
				|  |  |          /// <param name="proxyUsername">The proxy username.</param>
 | 
	
		
			
				|  |  |          public PasswordConnectionInfo(string host, int port, string username, string password, ProxyTypes proxyType, string proxyHost, int proxyPort, string proxyUsername)
 | 
	
		
			
				|  |  | -            : this(host, port, username, password, proxyType, proxyHost, proxyPort, proxyUsername, string.Empty)
 | 
	
		
			
				|  |  | +            : this(host, port, username, Encoding.UTF8.GetBytes(password), proxyType, proxyHost, proxyPort, proxyUsername, string.Empty)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -84,7 +84,7 @@ namespace Renci.SshNet
 | 
	
		
			
				|  |  |          /// <param name="proxyHost">The proxy host.</param>
 | 
	
		
			
				|  |  |          /// <param name="proxyPort">The proxy port.</param>
 | 
	
		
			
				|  |  |          public PasswordConnectionInfo(string host, string username, string password, ProxyTypes proxyType, string proxyHost, int proxyPort)
 | 
	
		
			
				|  |  | -            : this(host, 22, username, password, proxyType, proxyHost, proxyPort, string.Empty, string.Empty)
 | 
	
		
			
				|  |  | +            : this(host, 22, username, Encoding.UTF8.GetBytes(password), proxyType, proxyHost, proxyPort, string.Empty, string.Empty)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -99,7 +99,7 @@ namespace Renci.SshNet
 | 
	
		
			
				|  |  |          /// <param name="proxyPort">The proxy port.</param>
 | 
	
		
			
				|  |  |          /// <param name="proxyUsername">The proxy username.</param>
 | 
	
		
			
				|  |  |          public PasswordConnectionInfo(string host, string username, string password, ProxyTypes proxyType, string proxyHost, int proxyPort, string proxyUsername)
 | 
	
		
			
				|  |  | -            : this(host, 22, username, password, proxyType, proxyHost, proxyPort, proxyUsername, string.Empty)
 | 
	
		
			
				|  |  | +            : this(host, 22, username, Encoding.UTF8.GetBytes(password), proxyType, proxyHost, proxyPort, proxyUsername, string.Empty)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -115,6 +115,109 @@ namespace Renci.SshNet
 | 
	
		
			
				|  |  |          /// <param name="proxyUsername">The proxy username.</param>
 | 
	
		
			
				|  |  |          /// <param name="proxyPassword">The proxy password.</param>
 | 
	
		
			
				|  |  |          public PasswordConnectionInfo(string host, string username, string password, ProxyTypes proxyType, string proxyHost, int proxyPort, string proxyUsername, string proxyPassword)
 | 
	
		
			
				|  |  | +            : this(host, 22, username, Encoding.UTF8.GetBytes(password), proxyType, proxyHost, proxyPort, proxyUsername, proxyPassword)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        /// <summary>
 | 
	
		
			
				|  |  | +        /// Initializes a new instance of the <see cref="PasswordConnectionInfo"/> class.
 | 
	
		
			
				|  |  | +        /// </summary>
 | 
	
		
			
				|  |  | +        /// <param name="host">Connection host.</param>
 | 
	
		
			
				|  |  | +        /// <param name="username">Connection username.</param>
 | 
	
		
			
				|  |  | +        /// <param name="password">Connection password.</param>
 | 
	
		
			
				|  |  | +        public PasswordConnectionInfo(string host, string username, byte[] password)
 | 
	
		
			
				|  |  | +            : this(host, 22, username, password)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        /// <summary>
 | 
	
		
			
				|  |  | +        /// Initializes a new instance of the <see cref="PasswordConnectionInfo"/> class.
 | 
	
		
			
				|  |  | +        /// </summary>
 | 
	
		
			
				|  |  | +        /// <param name="host">Connection host.</param>
 | 
	
		
			
				|  |  | +        /// <param name="port">Connection port.</param>
 | 
	
		
			
				|  |  | +        /// <param name="username">Connection username.</param>
 | 
	
		
			
				|  |  | +        /// <param name="password">Connection password.</param>
 | 
	
		
			
				|  |  | +        /// <exception cref="ArgumentNullException"><paramref name="password"/> is null.</exception>
 | 
	
		
			
				|  |  | +        /// <exception cref="ArgumentException"><paramref name="host"/> is invalid, or <paramref name="username"/> is null or contains whitespace characters.</exception>
 | 
	
		
			
				|  |  | +        /// <exception cref="ArgumentOutOfRangeException"><paramref name="port"/> is not within <see cref="f:IPEndPoint.MinPort"/> and <see cref="f:IPEndPoint.MaxPort"/>.</exception>
 | 
	
		
			
				|  |  | +        public PasswordConnectionInfo(string host, int port, string username, byte[] password)
 | 
	
		
			
				|  |  | +            : this(host, port, username, password, ProxyTypes.None, string.Empty, 0, string.Empty, string.Empty)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        /// <summary>
 | 
	
		
			
				|  |  | +        /// Initializes a new instance of the <see cref="PasswordConnectionInfo"/> class.
 | 
	
		
			
				|  |  | +        /// </summary>
 | 
	
		
			
				|  |  | +        /// <param name="host">Connection host.</param>
 | 
	
		
			
				|  |  | +        /// <param name="port">The port.</param>
 | 
	
		
			
				|  |  | +        /// <param name="username">Connection username.</param>
 | 
	
		
			
				|  |  | +        /// <param name="password">Connection password.</param>
 | 
	
		
			
				|  |  | +        /// <param name="proxyType">Type of the proxy.</param>
 | 
	
		
			
				|  |  | +        /// <param name="proxyHost">The proxy host.</param>
 | 
	
		
			
				|  |  | +        /// <param name="proxyPort">The proxy port.</param>
 | 
	
		
			
				|  |  | +        public PasswordConnectionInfo(string host, int port, string username, byte[] password, ProxyTypes proxyType, string proxyHost, int proxyPort)
 | 
	
		
			
				|  |  | +            : this(host, port, username, password, proxyType, proxyHost, proxyPort, string.Empty, string.Empty)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        /// <summary>
 | 
	
		
			
				|  |  | +        /// Initializes a new instance of the <see cref="PasswordConnectionInfo"/> class.
 | 
	
		
			
				|  |  | +        /// </summary>
 | 
	
		
			
				|  |  | +        /// <param name="host">Connection host.</param>
 | 
	
		
			
				|  |  | +        /// <param name="port">The port.</param>
 | 
	
		
			
				|  |  | +        /// <param name="username">Connection username.</param>
 | 
	
		
			
				|  |  | +        /// <param name="password">Connection password.</param>
 | 
	
		
			
				|  |  | +        /// <param name="proxyType">Type of the proxy.</param>
 | 
	
		
			
				|  |  | +        /// <param name="proxyHost">The proxy host.</param>
 | 
	
		
			
				|  |  | +        /// <param name="proxyPort">The proxy port.</param>
 | 
	
		
			
				|  |  | +        /// <param name="proxyUsername">The proxy username.</param>
 | 
	
		
			
				|  |  | +        public PasswordConnectionInfo(string host, int port, string username, byte[] password, ProxyTypes proxyType, string proxyHost, int proxyPort, string proxyUsername)
 | 
	
		
			
				|  |  | +            : this(host, port, username, password, proxyType, proxyHost, proxyPort, proxyUsername, string.Empty)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        /// <summary>
 | 
	
		
			
				|  |  | +        /// Initializes a new instance of the <see cref="PasswordConnectionInfo"/> class.
 | 
	
		
			
				|  |  | +        /// </summary>
 | 
	
		
			
				|  |  | +        /// <param name="host">Connection host.</param>
 | 
	
		
			
				|  |  | +        /// <param name="username">Connection username.</param>
 | 
	
		
			
				|  |  | +        /// <param name="password">Connection password.</param>
 | 
	
		
			
				|  |  | +        /// <param name="proxyType">Type of the proxy.</param>
 | 
	
		
			
				|  |  | +        /// <param name="proxyHost">The proxy host.</param>
 | 
	
		
			
				|  |  | +        /// <param name="proxyPort">The proxy port.</param>
 | 
	
		
			
				|  |  | +        public PasswordConnectionInfo(string host, string username, byte[] password, ProxyTypes proxyType, string proxyHost, int proxyPort)
 | 
	
		
			
				|  |  | +            : this(host, 22, username, password, proxyType, proxyHost, proxyPort, string.Empty, string.Empty)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        /// <summary>
 | 
	
		
			
				|  |  | +        /// Initializes a new instance of the <see cref="PasswordConnectionInfo"/> class.
 | 
	
		
			
				|  |  | +        /// </summary>
 | 
	
		
			
				|  |  | +        /// <param name="host">Connection host.</param>
 | 
	
		
			
				|  |  | +        /// <param name="username">Connection username.</param>
 | 
	
		
			
				|  |  | +        /// <param name="password">Connection password.</param>
 | 
	
		
			
				|  |  | +        /// <param name="proxyType">Type of the proxy.</param>
 | 
	
		
			
				|  |  | +        /// <param name="proxyHost">The proxy host.</param>
 | 
	
		
			
				|  |  | +        /// <param name="proxyPort">The proxy port.</param>
 | 
	
		
			
				|  |  | +        /// <param name="proxyUsername">The proxy username.</param>
 | 
	
		
			
				|  |  | +        public PasswordConnectionInfo(string host, string username, byte[] password, ProxyTypes proxyType, string proxyHost, int proxyPort, string proxyUsername)
 | 
	
		
			
				|  |  | +            : this(host, 22, username, password, proxyType, proxyHost, proxyPort, proxyUsername, string.Empty)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        /// <summary>
 | 
	
		
			
				|  |  | +        /// Initializes a new instance of the <see cref="PasswordConnectionInfo"/> class.
 | 
	
		
			
				|  |  | +        /// </summary>
 | 
	
		
			
				|  |  | +        /// <param name="host">Connection host.</param>
 | 
	
		
			
				|  |  | +        /// <param name="username">Connection username.</param>
 | 
	
		
			
				|  |  | +        /// <param name="password">Connection password.</param>
 | 
	
		
			
				|  |  | +        /// <param name="proxyType">Type of the proxy.</param>
 | 
	
		
			
				|  |  | +        /// <param name="proxyHost">The proxy host.</param>
 | 
	
		
			
				|  |  | +        /// <param name="proxyPort">The proxy port.</param>
 | 
	
		
			
				|  |  | +        /// <param name="proxyUsername">The proxy username.</param>
 | 
	
		
			
				|  |  | +        /// <param name="proxyPassword">The proxy password.</param>
 | 
	
		
			
				|  |  | +        public PasswordConnectionInfo(string host, string username, byte[] password, ProxyTypes proxyType, string proxyHost, int proxyPort, string proxyUsername, string proxyPassword)
 | 
	
		
			
				|  |  |              : this(host, 22, username, password, proxyType, proxyHost, proxyPort, proxyUsername, proxyPassword)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -131,7 +234,7 @@ namespace Renci.SshNet
 | 
	
		
			
				|  |  |          /// <param name="proxyPort">The proxy port.</param>
 | 
	
		
			
				|  |  |          /// <param name="proxyUsername">The proxy username.</param>
 | 
	
		
			
				|  |  |          /// <param name="proxyPassword">The proxy password.</param>
 | 
	
		
			
				|  |  | -        public PasswordConnectionInfo(string host, int port, string username, string password, ProxyTypes proxyType, string proxyHost, int proxyPort, string proxyUsername, string proxyPassword)
 | 
	
		
			
				|  |  | +        public PasswordConnectionInfo(string host, int port, string username, byte[] password, ProxyTypes proxyType, string proxyHost, int proxyPort, string proxyUsername, string proxyPassword)
 | 
	
		
			
				|  |  |              : base(host, port, username, proxyType, proxyHost, proxyPort, proxyUsername, proxyPassword, new PasswordAuthenticationMethod(username, password))
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |              foreach (var authenticationMethod in this.AuthenticationMethods.OfType<PasswordAuthenticationMethod>())
 |