Mon api soutient qu'à la suite CipherSuits
(trouvé cela avec l'aide de ssllab)comment puis-je ajouter le support pour CipherSuits de TLSv1.2 spécifiques avec OkHttp - Android 4.4 KitKat (api 19)
TLSv1.2
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - OkHttp: yes
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - OkHttp: yes
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 - OkHttp: yes
TLS_DHE_RAS_WITH_AES_128_GCM_SHA256 - OkHttp: no
tous ces éléments sont pris en charge sur Android api 20+ vu sur SSLSocket
J'ai essayé adding support for TLSv1.2 à OkHttp mais je reçois toujours l'erreur habituelle
HTTP FAILED: javax.net.ssl.SSLHandshakeException: com.android.org.bouncycastle.jce.exception.ExtCertPathValidatorException: Could not validate certificate: null
alors j'ajouté les CipherSuits
à ConnectionSpec
et a échoué
ConnectionSpec cs = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
.tlsVersions(TlsVersion.TLS_1_2)
.cipherSuites(
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
)
.build();
HTTP FAILED: java.net.UnknownServiceException: Unable to find acceptable protocols. isFallback=false, modes=[ConnectionSpec(cipherSuites=[TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384], tlsVersions=[TLS_1_2], supportsTlsExtensions=true)], supported protocols=[TLSv1.2]
Connection fonctionne très bien sur Android api 21 ans et plus.
Alors est-il possible d'ajouter le support pour ces CipherSuits
?
vérifier celui-ci https://stackoverflow.com/a/46025698/8009433 –
merci, je ne sais pas pourquoi les gens sont down-vote –
vérifier ma réponse ci-dessous –