2016-09-17 5 views
1

私はSSL SOAPサービスに接続するAppを持っています。 iOS 9.3.5の場合、アプリケーションは正常に動作します。 iOS 10からコード-9801でエラーが発生しました。私はこれがApple ATSに接続されていると思います。サイト証明書はTLS 1.0に設定されています(証明書の設定は管理できません)。iOS 10 TSLの問題(「セキュリティエラー:-9801」)があります。直し方?

どうすればこの問題を解決できますか? .plistファイルに例外として追加する必要があると思います。

私はまたwww.ssllabs.comでチェックを行い、セクションApple ATS 9/iOS 9 Rのためには、エラーを与える:

Protocol or cipher suite mismatch

が、それが動作するiOSの9の上に。

EDIT:

私は(info.plistに)例外をATにドメインを追加しますが、エラーが、私は一時的な回避策を見つけた

+0

"証明書がTLS 1.0用に設定されている" のようなものはありません。証明書はTLSバージョンとは独立しています。一般的にssllabsにリンクするのではなく、問題のサーバの実際の分析に役立つ場合は、設定がどのように設定されているのか、何が問題なのかが分かるので、さらに役立つかもしれません。 remark @SteffenUllrichについては –

+0

10倍。証明書の最小バージョンがTSL 1.0であると私は専門家ではないと言わなければならないかもしれません。あなたが正しい構成については、分析を追加します。 – new2ios

答えて

0

持続するが、私はTSLの証明書の設定の調査を継続していきます。

私はATSの例外(詳細はhere)へのサービスのためにURLを追加しました。それから、iOS 10ではATSの設定が変更され、1.0の代わりにTSLv1.0として例外が書き込まれていることがわかりました(他のサイトの例外例を使用し、その内部は1.0でした) - 10xからthis answerになりました。

1

NSAppTransportSecurity NSAllowsArbitraryLoads

は、このキーを追加 - あなたのinfo.plist内の値を、これは、負荷のすべての種類を許可することを意味します。特定のドメインを持っている場合は、その特定のドメインをinfo.plistに追加する必要があります。

更新:

あなたは安全な接続を必要とするならば、あなたがあなたのinfo.plist

 <key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSExceptionDomains</key> 
<dict> 
    <key>yourdomain.com</key> 
    <dict> 
     <!--Include to allow subdomains--> 
     <key>NSIncludesSubdomains</key> 
     <true/> 
     <!--Include to allow HTTP requests--> 
     <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> 
     <true/> 
     <!--Include to specify minimum TLS version--> 
     <key>NSTemporaryExceptionMinimumTLSVersion</key> 
     <string>TLSv1.1</string> 
    </dict> 
</dict> 

か、sslを統合したWebサービスを使用する必要があり、同じように管理する必要があります! ATS辞書の推奨コンテンツを取得するnscurl

+0

私はすでにそれを記述したと思う:)、@ Lion。私は安全な接続が必要なので、 'NSAllowsArbitraryLoads'を許可しません。 – new2ios

+0

答えで私のアップデートをチェック! – Lion

1

使用ATS診断モード:

nscurl --ats-diagnostics https://yourdomain.com --verbose

関連する問題