[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-3715?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mate Szalay-Beko reassigned ZOOKEEPER-3715:
-------------------------------------------

    Assignee: Mate Szalay-Beko

> Quorum Kerberos Authentication related tests fail fro new JDK versions
> ----------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-3715
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3715
>             Project: ZooKeeper
>          Issue Type: Improvement
>            Reporter: Mate Szalay-Beko
>            Assignee: Mate Szalay-Beko
>            Priority: Major
>
> using OpenJDK 1.8.242 or OpenJDK 11.0.6, I got some kerberos related 
> exceptions when running the following, Quorum Kerberos Authentication related 
> tests:
>  - QuorumKerberosAuthTest
>  - QuorumKerberosHostBasedAuthTest
>  - SaslKerberosAuthOverSSLTest
>   
>  the error:
> {code:bash}
> 2020-02-03 12:11:07,197 [myid:localhost:11223] - ERROR 
> [main-SendThread(localhost:11223):ZooKeeperSaslClient@336] - An error: 
> (java.security.PrivilegedActionException: javax.security.sasl.SaslException: 
> GSS initiate failed [Caused by GSSException: No valid credentials provided 
> (Mechanism level: null (5001))]) occurred when evaluating Zookeeper Quorum 
> Member's  received SASL token. Zookeeper Client will go to AUTH_FAILED state.
>  {code}
> more detailed stack trace:
> {code:bash}
> Found ticket for zkclient/[email protected] to go to 
> krbtgt/[email protected] expiring on Tue Feb 04 13:49:14 CET 2020Found 
> ticket for zkclient/[email protected] to go to 
> krbtgt/[email protected] expiring on Tue Feb 04 13:49:14 CET 
> 2020Entered Krb5Context.initSecContext with state=STATE_NEWService ticket not 
> found in the subject>>> Credentials serviceCredsSingle: same realmUsing 
> builtin default etypes for default_tgs_enctypesdefault etypes for 
> default_tgs_enctypes: 18 17 16 23.>>> EType: 
> sun.security.krb5.internal.crypto.Aes128CtsHmacSha1EType>>> CksumType: 
> sun.security.krb5.internal.crypto.HmacSha1Aes128CksumType>>> EType: 
> sun.security.krb5.internal.crypto.Aes128CtsHmacSha1EType>>> KrbKdcReq send: 
> kdc=localhost TCP:62653, timeout=30000, number of retries =3, #bytes=586>>> 
> KDCCommunication: kdc=localhost TCP:62653, timeout=30000,Attempt =1, 
> #bytes=586>>>DEBUG: TCPClient reading 112 bytes>>> KrbKdcReq send: #bytes 
> read=112>>> KdcAccessibility: remove localhost:62653>>> KDCRep: init() 
> encoding tag is 126 req type is 13>>>KRBError: sTime is Mon Feb 03 13:49:14 
> CET 2020 1580734154000 suSec is 100 error code is 5001 error Message is null 
> crealm is EXAMPLE.COM sname is zkquorum/[email protected] msgType is 
> 30>>> Credentials serviceCredsSingle: same realmUsing builtin default etypes 
> for default_tgs_enctypesdefault etypes for default_tgs_enctypes: 18 17 16 
> 23.>>> EType: sun.security.krb5.internal.crypto.Aes128CtsHmacSha1EType>>> 
> CksumType: sun.security.krb5.internal.crypto.HmacSha1Aes128CksumType>>> 
> EType: sun.security.krb5.internal.crypto.Aes128CtsHmacSha1EType>>> KrbKdcReq 
> send: kdc=localhost TCP:62653, timeout=30000, number of retries =3, 
> #bytes=586>>> KDCCommunication: kdc=localhost TCP:62653, 
> timeout=30000,Attempt =1, #bytes=586>>>DEBUG: TCPClient reading 112 bytes>>> 
> KrbKdcReq send: #bytes read=112>>> KdcAccessibility: remove 
> localhost:62653>>> KDCRep: init() encoding tag is 126 req type is 
> 13>>>KRBError: sTime is Mon Feb 03 13:49:14 CET 2020 1580734154000 suSec is 
> 100 error code is 5001 error Message is null crealm is EXAMPLE.COM sname is 
> zkquorum/[email protected] msgType is 30KrbException: null (5001) at 
> sun.security.krb5.KrbTgsRep.<init>(KrbTgsRep.java:70) at 
> sun.security.krb5.KrbTgsReq.getReply(KrbTgsReq.java:226) at 
> sun.security.krb5.KrbTgsReq.sendAndGetCreds(KrbTgsReq.java:237) at 
> sun.security.krb5.internal.CredentialsUtil.serviceCredsSingle(CredentialsUtil.java:400)
>  at 
> sun.security.krb5.internal.CredentialsUtil.serviceCreds(CredentialsUtil.java:287)
>  at 
> sun.security.krb5.internal.CredentialsUtil.serviceCreds(CredentialsUtil.java:263)
>  at 
> sun.security.krb5.internal.CredentialsUtil.acquireServiceCreds(CredentialsUtil.java:118)
>  at sun.security.krb5.Credentials.acquireServiceCreds(Credentials.java:490) 
> at sun.security.jgss.krb5.Krb5Context.initSecContext(Krb5Context.java:695) at 
> sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:248) at 
> sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:179) at 
> com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:192)
>  at 
> org.apache.zookeeper.client.ZooKeeperSaslClient$1.run(ZooKeeperSaslClient.java:320)
>  at 
> org.apache.zookeeper.client.ZooKeeperSaslClient$1.run(ZooKeeperSaslClient.java:317)
>  at java.security.AccessController.doPrivileged(Native Method) at 
> javax.security.auth.Subject.doAs(Subject.java:422) at 
> org.apache.zookeeper.client.ZooKeeperSaslClient.createSaslToken(ZooKeeperSaslClient.java:317)
>  at 
> org.apache.zookeeper.client.ZooKeeperSaslClient.createSaslToken(ZooKeeperSaslClient.java:303)
>  at 
> org.apache.zookeeper.client.ZooKeeperSaslClient.sendSaslPacket(ZooKeeperSaslClient.java:366)
>  at 
> org.apache.zookeeper.client.ZooKeeperSaslClient.initialize(ZooKeeperSaslClient.java:403)
>  at 
> org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1192)Caused 
> by: KrbException: Identifier doesn't match expected value (906) at 
> sun.security.krb5.internal.KDCRep.init(KDCRep.java:140) at 
> sun.security.krb5.internal.TGSRep.init(TGSRep.java:65) at 
> sun.security.krb5.internal.TGSRep.<init>(TGSRep.java:60) at 
> sun.security.krb5.KrbTgsRep.<init>(KrbTgsRep.java:55) ... 20 more2020-02-03 
> 13:49:14,942 [myid:localhost:11223] - ERROR 
> [main-SendThread(localhost:11223):ZooKeeperSaslClient@336] - An error: 
> (java.security.PrivilegedActionException: javax.security.sasl.SaslException: 
> GSS initiate failed [Caused by GSSException: No valid credentials provided 
> (Mechanism level: null (5001))]) occurred when evaluating Zookeeper Quorum 
> Member's  received SASL token. Zookeeper Client will go to AUTH_FAILED state.
> {code}
>  
> After trying this with different JDK versions, we see that the problem seems 
> to appear
>  * between OpenJDK 8.232 and 8.242 for java 8
>  * and between 11.0.3 and 11.0.6 for java 11
> There are a lot of kerberos related changes after 8.232: see 
> [https://hg.openjdk.java.net/jdk8u/jdk8u/jdk]
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to