google / google/conscrypt

Android 8/8.1 Unrecognized revocation parameter option: ONLY_END_ENTITY

Open
#861 5 comments 2 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
1.4k
Forks
326
Avg merge
16h 22m
Merged PRs (30d)
17

Description

On some Android devices connection fails with CertPathValidatorException: Unrecognized revocation parameter option: ONLY_END_ENTITY
Full stacktrace:
```
Caused by java.security.cert.CertPathValidatorException: Unrecognized revocation parameter option: ONLY_END_ENTITY
at sun.security.provider.certpath.RevocationChecker.init(RevocationChecker.java:119)
at sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:210)
at sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:140)
at sun.security.provider.certpath.PKIXCertPathValidator.engineValidate(PKIXCertPathValidator.java:79)
at com.android.org.conscrypt.DelegatingCertPathValidator.engineValidate(DelegatingCertPathValidator.java:42)
at java.security.cert.CertPathValidator.validate(CertPathValidator.java:301)
at com.android.org.conscrypt.TrustManagerImpl.verifyChain(TrustManagerImpl.java:714)
at com.android.org.conscrypt.TrustManagerImpl.checkTrustedRecursive(TrustManagerImpl.java:543)
at com.android.org.conscrypt.TrustManagerImpl.checkTrustedRecursive(TrustManagerImpl.java:564)
at com.android.org.conscrypt.TrustManagerImpl.checkTrustedRecursive(TrustManagerImpl.java:609)
at com.android.org.conscrypt.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:499)
at com.android.org.conscrypt.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:422)
at com.android.org.conscrypt.TrustManagerImpl.getTrustedChainForServer(TrustManagerImpl.java:343)
at android.security.net.config.NetworkSecurityTrustManager.checkServerTrusted(NetworkSecurityTrustManager.java:94)
at android.security.net.config.RootTrustManager.checkServerTrusted(RootTrustManager.java:88)
at com.android.org.conscrypt.Platform.checkServerTrusted(Platform.java:197)
at com.android.org.conscrypt.ConscryptFileDescriptorSocket.verifyCertificateChain(ConscryptFileDescriptorSocket.java:413)
at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(NativeCrypto.java)
at com.android.org.conscrypt.SslWrapper.doHandshake(SslWrapper.java:381)
at com.android.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(ConscryptFileDescriptorSocket.java:222)
at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.java:367)
at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.java:325)
at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:197)
at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.java:249)
at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.java:108)
at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.java:76)
at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.java:245)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:32)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:100)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:96)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:100)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:83)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:100)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:76)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:100)
at com.chess.net.internal.interceptors.TooManyRequestsInterceptor.intercept(TooManyRequestsInterceptor.java:41)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:100)
at com.chess.net.internal.interceptors.SigningInterceptor.intercept(SigningInterceptor.java:32)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:100)
at com.chess.net.internal.interceptors.AuthenticationInterceptor.intercept(AuthenticationInterceptor.java:30)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:100)
at com.readystatesoftware.chuck.ChuckInterceptor.intercept(ChuckInterceptor.java:56)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:100)
at com.chess.net.internal.interceptors.AcceptLanguageHeaderInterceptor.intercept(AcceptLanguageHeaderInterceptor.java:18)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:100)
at com.chess.net.internal.interceptors.UserAgentHeaderInterceptor.intercept(UserAgentHeaderInterceptor.java:17)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:100)
at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.java:197)
at okhttp3.internal.connection.RealCall.execute(RealCall.java:148)
at retrofit2.OkHttpCall.execute(OkHttpCall.java:188)
```

Known phones on which problem occurred:
Android OS version / Device name
8.0.0 Galaxy A5(2017)
8.0.0 Galaxy A5(2017)
8.0.0 Galaxy A6
8.0.0 Galaxy A7(2017)
8.0.0 Galaxy C9 Pro
8.0.0 Galaxy S7
8.0.0 Galaxy S8
8.0.0 HUAWEI MediaPad T5
8.0.0 Mate 10 lite
8.0.0 Mate 10 lite
8.0.0 Nokia 6
8.0.0 ZenFone 3 (ZE552KL)
8.1.0 Galaxy J7 Max
8.1.0 Galaxy Tab A (2016)
8.1.0 Redmi 6

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.