且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Android 7不允许我的LetsEncrypt SSL证书

更新时间:2022-10-15 16:50:28

我的解决方案,现在可以正常工作:

      ConnectionSpec spec = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
           .tlsVersions(TlsVersion.TLS_1_2)
           .cipherSuites(
                   CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, //aws ssl
                   CipherSuite.TLS_DHE_RSA_WITH_AES_256_CBC_SHA) //letsencrypt
           .build();

   OkHttpClient.Builder builder = new OkHttpClient.Builder()
           .connectionSpecs(Collections.singletonList(spec))
           .addInterceptor(new HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY));

   Parse.initialize(new Parse.Configuration.Builder(getApplicationContext())
           .clientBuilder(builder)
           .applicationId("")
           .clientKey("")
           .server("")
           .build());

Im using nginx with my own SSL certificate chain but I'm getting a problem with android 7. I dont understand this solution.

My nginx configuration is:

server {

   listen 443 ssl;
   listen [::]:443 ssl;
   ssl_certificate /etc/letsencrypt/live/server.mydomain.cloud/fullchain.pem;
   ssl_certificate_key /etc/letsencrypt/live/server.mydomain.com/privkey.pem;
   include snippets/ssl-params.conf;

What should I do? Thanks!

My solution, now its working:

      ConnectionSpec spec = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
           .tlsVersions(TlsVersion.TLS_1_2)
           .cipherSuites(
                   CipherSuite.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, //aws ssl
                   CipherSuite.TLS_DHE_RSA_WITH_AES_256_CBC_SHA) //letsencrypt
           .build();

   OkHttpClient.Builder builder = new OkHttpClient.Builder()
           .connectionSpecs(Collections.singletonList(spec))
           .addInterceptor(new HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY));

   Parse.initialize(new Parse.Configuration.Builder(getApplicationContext())
           .clientBuilder(builder)
           .applicationId("")
           .clientKey("")
           .server("")
           .build());