title: "No common protection layer between client and server" error when connecting to LDAP using GSSAPI I got
body: <p>When connecting to LDAP using GSSAPI</p>
  
  <pre><code>Hashtable&lt;String, String&gt; env = new Hashtable&lt;&gt;();
  env.put(Context.INITIAL_CONTEXT_FACTORY, LdapCtxFactory.class.getName());
  
  // Must use fully qualified hostname
  env.put(Context.PROVIDER_URL, ldapUri);
  
  // Request the use of the "GSSAPI" SASL mechanism
  // Authenticate by using already established Kerberos credentials
  env.put(Context.SECURITY_AUTHENTICATION, "GSSAPI");
  </code></pre>
  
  <p>I got </p>
  
  <pre><code>javax.security.sasl.SaslException: No common protection layer between client and server
  at com.sun.security.sasl.gsskerb.GssKrb5Client.doFinalHandshake(GssKrb5Client.java:251) ~[na:1.8.0_40]
  at com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:186) ~[na:1.8.0_40]
  at com.sun.jndi.ldap.sasl.LdapSasl.saslBind(LdapSasl.java:133) ~[na:1.8.0_40]
  </code></pre>