2016-04-08 17 views
0

私の迅速なiOSアプリケーションは、サーバー上の証明書が自己署名されているように見えるエラーを与えるaerogear統合プッシュサーバーによるリモート通知に登録できませんこれは、認証機関によって署名された通常の信頼されたものです。もう一方の端で信頼できる証明書でIOS SSLハンドシェイクが失敗する理由

これは登録自体がaerogearプッシュサーバの例に従って行われるデリゲートにdidRegisterForRemoteNotificationsWithDeviceToken通話中に起こる:

 let registration = AGDeviceRegistration(serverURL: NSURL(string: dynConfig.pushURL)); 
      registration.registerWithClientInfo({ (clientInfo:AGClientDeviceInformation!) -> Void in 
... 

ここでは、エラートレースが

2016-04-08 16:22:35.158 Myapp[284:35797] Registration :https://server.mydomain.net:8443/ag-push/ 
2016-04-08 16:24:23.412 Myapp[284:35797] OK 
2016-04-08 16:24:23.419 Myapp[284:35797] _BSMachError: (os/kern) invalid capability (20) 
2016-04-08 16:24:23.420 Myapp[284:35797] _BSMachError: (os/kern) invalid name (15) 
2016-04-08 16:24:23.553 Myapp[284:35797] OK 
2016-04-08 16:24:23.558 Myapp[284:35797] OK 
2016-04-08 16:24:23.574 Myapp[284:36046] CFNetwork SSLHandshake failed (-9824) 
2016-04-08 16:24:23.615 Myapp[284:36046] CFNetwork SSLHandshake failed (-9824) 
2016-04-08 16:24:23.662 Myapp[284:36046] CFNetwork SSLHandshake failed (-9824) 
2016-04-08 16:24:23.713 Myapp[284:36046] CFNetwork SSLHandshake failed (-9824) 
2016-04-08 16:24:23.716 Myapp[284:36046] NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9824) 
2016-04-08 16:24:38.229 Myapp[284:35797] Push registration error :Error Domain=NSURLErrorDomain Code=-1200 "Une erreur SSL s’est produite et il est impossible d’établir une connexion sécurisée avec le serveur." UserInfo={_kCFStreamErrorCodeKey=-9824, NSLocalizedRecoverySuggestion=Souhaitez-vous tout de même vous connecter au serveur ?, NSUnderlyingError=0x12cdf9ee0 {Error Domain=kCFErrorDomainCFNetwork Code=-1200 "(null)" UserInfo={_kCFStreamPropertySSLClientCertificateState=0, _kCFNetworkCFStreamSSLErrorOriginalValue=-9824, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9824}}, NSLocalizedDescription=Une erreur SSL s’est produite et il est impossible d’établir une connexion sécurisée avec le serveur., NSErrorFailingURLKey=https://server.mydomain.net:8443/ag-push/rest/registry/device, NSErrorFailingURLStringKey=https://server.mydomain.net:8443/ag-push/rest/registry/device, _kCFStreamErrorDomainKey=3} 

答えて

0

であるあなたのAPI呼び出しがいるようですApp Transport Securityによってブロックされます。私は他のすべてのものを持っていた

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSExceptionDomains</key> 
    <dict> 
     <key>mydomain.net</key> 
     <dict> 
      <key>NSExceptionAllowsInsecureHTTPLoads</key> 
      <true/> 
      <key>NSIncludesSubdomains</key> 
      <true/> 
      <key>NSExceptionRequiresForwardSecrecy</key> 
      <false/> 
     </dict> 
    </dict> 
</dict> 
+0

なくNSExceptionRequiresForwardSecrecy: あなたの.plistファイルに次の追加してみてください。それはそれを修正する。これを避けるためにサーバ側で何が変更されるべきかについてのヒント? –

+0

Apacheで作業している場合は、ここをクリックしてください:https://www.digicert.com/ssl-support/ssl-enabling-perfect-forward-secrecy.htm – DAN

+0

実際にはwildflyで作業していますnginx。 –

関連する問題