【问题标题】:Android 7 doesn't allow my LetsEncrypt SSL certificateAndroid 7 不允许我的 LetsEncrypt SSL 证书
【发布时间】:2017-05-14 12:09:59
【问题描述】:

我将 nginx 与我自己的 SSL 证书链一起使用,但我遇到了 android 7 的问题。 我不明白this solution

我的nginx配置是:

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;

我该怎么办?谢谢!

【问题讨论】:

  • 你参考的解决方案是针对node.js的,不适用于nginx。具有完整链(不包括根)的证书需要在 ssl_certificate 中,即在您的 fullchain.pem 中。我猜这个文件的内容是错误的或不完整的,但由于它是未知的,我无法证明它。对照SSLLabs 检查您的网站,查找有关缺少链证书的错误。
  • @SteffenUllrich DNS CAA 否(更多信息)。总体评分 A,是的,我正在使用 nodejs
  • 但是根据您的问题,您使用 nginx 来提供 SSL,因为您为什么要显示 nginx 配置而不是 nodejs 配置。所以你用nodejs没关系,至少对于这种问题没有关系。如果您要发布 URL,我可以仔细查看,但仅基于此问题中的信息,无法说出发生了什么。此外,您没有准确描述您在 Android 7 上遇到的问题。
  • 好的 @SteffenUllrich 这是我的域名:ssllabs.com/ssltest/…
  • Android 7 到底有什么问题?问题是来自浏览器还是仅来自特定应用?

标签: android ssl nginx


【解决方案1】:

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

      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());

【讨论】:

  • 您不必指定密码套件。默认情况下,这些以及更多功能都是启用的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-10
  • 2020-09-05
  • 1970-01-01
相关资源
最近更新 更多