title: Java 8 update 161 breaks HTTPClient Kerberos authentication
body: <p>My HTTPClient Kerberos authentication set up is similar to <a href="https://github.com/Lab-Work/AwesomeStitch/blob/master/libs/httpcomponents-client-4.2.5/examples/org/apache/http/examples/client/ClientKerberosAuthentication.java" rel="nofollow noreferrer">this one</a>. My login.conf looks like this:</p>
  
  <pre><code>com.sun.security.jgss.login {
    com.sun.security.auth.module.Krb5LoginModule required
    useTicketCache=true
    useKeyTab=true
    storeKey=true
    keyTab=&lt;keytab&gt;
    principal=&lt;principal&gt;;
  };
  com.sun.security.jgss.initiate {
    com.sun.security.auth.module.Krb5LoginModule required
    useTicketCache=true
    useKeyTab=true
    storeKey=true
    keyTab=&lt;principal&gt;
    principal=&lt;keytab&gt;;
  };
  com.sun.security.jgss.accept {
    com.sun.security.auth.module.Krb5LoginModule required
    useTicketCache=true
    useKeyTab=true
    storeKey=true
    keyTab=&lt;keytab&gt;
    principal=&lt;principal&gt;;
  };
  </code></pre>
  
  <p>This setup has been working for me with jdk8u151, but Oracle released jdk8u161 recently, and it no longer works. Debug looks like this:</p>
  
  <p>Comparing debug logs, jdk8u161 stops at this line:</p>
  
  <blockquote>
    <p>CCacheInputStream: readFlags()</p>
  </blockquote>
  
  <p>while jdk8u151 follows that line with</p>
  
  <blockquote>
    <p>unsupported key type found the default TGT: 18</p>
  </blockquote>
  
  <p>I added </p>
  
  <pre><code>default_tkt_enctypes = aes128-cts des3-cbc-sha1 des-cbc-md5 des-cbc-crc
  default_tgs_enctypes = aes128-cts des3-cbc-sha1 des-cbc-md5 des-cbc-crc
  permitted_enctypes = aes128-cts des3-cbc-sha1 des-cbc-md5 des-cbc-crc
  </code></pre>
  
  <p>to <code>krb5.conf</code>, but it doesn't help.</p>