title: "Auth fail" in jsch-0.1.42 with Java 1.4.2
body: <p>I have this simple Java program that uses <a href="http://www.jcraft.com/jsch/">Jsch</a> to connect to an SFTP server. </p>
  
  <p>The connection fails with an "Auth fail" exception on Java 1.4.2, but it connects flawlessly on Java 1.7.</p>
  
  <pre><code>try {
      JSch jsch = new JSch();
  
      jsch.setKnownHosts(KNOWN_HOSTS_PATH);
      jsch.addIdentity(PRIVATE_KEY_PATH, PASSPHRASE);
  
      Session session = jsch.getSession(USERNAME, HOSTNAME, 22);
      session.connect(2500);
  
      Channel channel = session.openChannel("shell");
      channel.setInputStream(System. in );
      channel.setOutputStream(System.out);
      channel.connect();
  } catch (Exception e) {
      e.printStackTrace(System.err);
  }
  </code></pre>
  
  <p>The key I'm using is an <code>ssh-rsa 4096</code> bit key. The <code>.pub</code> key file exists in the same directory as the private key.</p>
  
  <p>When connecting a logger, I see the following messages before the exception (which occurs on <code>channel.connect();</code>):</p>
  
  <pre>
  INFO: Connecting to &lt;redacted&gt; port 22
  INFO: Connection established
  INFO: Remote version string: SSH-2.0-OpenSSH_5.1p1 Debian-5
  INFO: Local version string: SSH-2.0-JSCH-0.1.42
  INFO: CheckCiphers: aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc,3des-ctr,arcfour,arcfour128,arcfour256
  INFO: arcfour is not available.
  INFO: arcfour128 is not available.
  INFO: arcfour256 is not available.
  INFO: SSH_MSG_KEXINIT sent
  INFO: SSH_MSG_KEXINIT received
  INFO: kex: server->client aes128-ctr hmac-md5 none
  INFO: kex: client->server aes128-ctr hmac-md5 none
  INFO: SSH_MSG_KEXDH_INIT sent
  INFO: expecting SSH_MSG_KEXDH_REPLY
  INFO: ssh_rsa_verify: signature true
  INFO: Host '&lt;redacted&gt;' is known and mathces the RSA host key
  INFO: SSH_MSG_NEWKEYS sent
  INFO: SSH_MSG_NEWKEYS received
  INFO: SSH_MSG_SERVICE_REQUEST sent
  INFO: SSH_MSG_SERVICE_ACCEPT received
  INFO: Authentications that can continue: publickey,keyboard-interactive,password
  INFO: Next authentication method: publickey
  INFO: Authentications that can continue: password
  INFO: Next authentication method: password
  INFO: Disconnecting from &lt;redacted&gt; port 22
  com.jcraft.jsch.JSchException: Auth fail
          at com.jcraft.jsch.Session.connect(Session.java:452)
          at TestJsch.main(TestJsch.java:19)
  </pre>
  
  <p>When I run the same program with Java 1.7, it says</p>
  
  <pre>
  INFO: Connecting to &lt;redacted&gt; port 22
  INFO: Connection established
  INFO: Remote version string: SSH-2.0-OpenSSH_5.1p1 Debian-5
  INFO: Local version string: SSH-2.0-JSCH-0.1.42
  INFO: CheckCiphers: aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc,3des-ctr,arcfour,arcfour128,arcfour256
  INFO: SSH_MSG_KEXINIT sent
  INFO: SSH_MSG_KEXINIT received
  INFO: kex: server->client aes128-ctr hmac-md5 none
  INFO: kex: client->server aes128-ctr hmac-md5 none
  INFO: SSH_MSG_KEXDH_INIT sent
  INFO: expecting SSH_MSG_KEXDH_REPLY
  INFO: ssh_rsa_verify: signature true
  INFO: Host '&lt;redacted&gt;' is known and mathces the RSA host key
  INFO: SSH_MSG_NEWKEYS sent
  INFO: SSH_MSG_NEWKEYS received
  INFO: SSH_MSG_SERVICE_REQUEST sent
  INFO: SSH_MSG_SERVICE_ACCEPT receivedINFO: Authentications that can continue: publickey,keyboard-interactive,password
  INFO: Next authentication method: publickey
  INFO: Authentication succeeded (publickey).
  Linux &lt;redacted&gt; 2.6.26-2-amd64 #1 SMP Mon Jun 13 16:29:33 UTC 2011 x86_64
  
  &lt;server welcome message follows&gt;
  </pre>
  
  <p>I have installed the Java Cryptography Extensions (JCE) for the 1.4 VM.</p>
  
  <p>What could be the source of that problem?</p>