【问题标题】:How to generate self-signed certificate for App Transport Security如何为 App Transport Security 生成自签名证书
【发布时间】:2015-12-09 15:05:39
【问题描述】:

我想为我的 iOS 应用程序与服务器通信生成自己的 SSL 证书。 我想,在这种情况下,自签名证书是正常使用。

我尝试使用以下命令创建证书:

openssl genrsa -aes256 -out server.key 2048
openssl req -new -key server.key -out server.csr
openssl rsa -in server.key.org -out astro.key
openssl x509 -req -days 365 -in server.csr -signkey server.key -out astro.crt

但我的应用不喜欢使用服务器:我有以下错误:

NSURLSession/NSURLConnection HTTP 加载失败(kCFStreamErrorDomainSSL,-9802)

Apple ATS technote 我可以找到以下支持的密码列表:

TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

我的密码学不是很好,我想我生成了错误的密钥和证书。

谁能告诉我,该怎么做?

谢谢。

【问题讨论】:

    标签: ios9 app-transport-security


    【解决方案1】:

    试试这个网站来验证你的证书是否正常sslabs.com。这里是 twitter API results 的示例 ...您的服务器 SSL 报告应该或多或少像这样。

    【讨论】:

      【解决方案2】:

      在 iOS 9 中不允许使用自签名证书。你的证书应该没问题。

      只需将以下内容添加到您的 Info.plist 文件中:

      <key>NSAppTransportSecurity</key>
      <dict>
          <key>NSExceptionDomains</key>
          <dict>
              <key>yourdomain.com</key>
              <dict>
                  <key>NSExceptionAllowsInsecureHTTPLoads</key>
                  <true/>
              </dict>
          </dict>
      </dict>
      

      【讨论】:

        猜你喜欢
        • 2022-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-18
        • 1970-01-01
        • 2014-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多