10
votes

Erreur "certificat de serveur non approuvé" dans l'application iPhone

J'utilise Mon application iPhone sur mon iPhone 3G OS 3.0.1 sans aucun problème. L'application se connecte à une URL API à https://apl.serverdensy.com/1.0/ et tout Les demandes suivent.

Un utilisateur de l'application a signalé qu'ils obtiennent désormais une erreur "certificat de serveur non approuvé". Aucun autre utilisateur n'a connu ce problème (que je suis au courant) et je ne peux pas le reproduire.

Le certificat SSL est un certificat WildCard sur * .Serverdensity.com. Il est acheté à GoDaddy et est valide jusqu'en mai 2010.

En outre, l'utilisateur exécute OS 3.0.1, l'heure / la date est définie correctement sur l'appareil et s'il se rend dans l'URL de l'API dans Safari, elle se charge correctement.

Toute suggestion pour la cause de cela?


0 commentaires

8 Réponses :


6
votes

J'ai eu le même problème!

Avez-vous installé là-bas "Bundle de certificat intermédiaire"? Si vous n'avez pas, vous obtiendrez le certificat de serveur non approuvé sur toutes les plateformes mobiles (et certains PC aussi).

Quote de site Web:

Avant d'installer votre certificat SSL émis, vous devez télécharger et installer notre ensemble de certificats intermédiaire sur votre serveur Web. Vous pouvez également télécharger le paquet du référentiel.

Consultez le Instructions d'installation de GoDaddy SSL pour votre configuration de serveur Web.

Le forfait de certificat intermédiaire peut être trouvé ici .


6 commentaires

Droite, mais si c'était le problème, cela devrait toujours arriver. On dirait que ceci est intermittent.


Quand c'est arrivé avec moi, c'était étrange. Cela fonctionnait alors il a cessé de fonctionner après une certaine date. Donc, ce n'était pas intermittent pour moi, mais cela va de travailler à ne pas travailler sans aucune raison notable.


Yeh, j'ai installé le paquet et j'ai fait blogué à ce sujet aussi - blog.boxedice.com/2009/05/11/... . Toutefois, si c'était le problème, je m'attendrais également à voir l'erreur dans les navigateurs.


@shanePowell pourrait-il être que votre certificat ou un certificat de la chaîne vient d'être expiré?


Le cert n'a pas expiré. J'ai installé le paquet intermédiaire et mon problème est parti. On dirait que le problème de David est différent de ce que mon était.


Nous avions fait de la concaténation de la chaire des chaînes ensemble et ce n'était pas bon. Nous réranons ces étapes ... tout bon



2
votes

J'ai réellement vu cela avec ma propre application qui utilise également un Godaddy Cert - et oui, j'ai installé les certs intermédiaires sur mon serveur.

C'est rare, mais cela peut se produire si l'utilisateur se reproduit sur un point d'accès WiFi qui interjecte sa page de connexion à la tentative de connexion. C'est en fait un comportement correct pour SSL, et cela est causé par le hotspot qui fait efficacement une redirection man-in-héberge pour votre URL.

Ils peuvent le réparer en allant d'abord dans Safari et à faire fonctionner la connexion.

OS3.0 est censé faire une connexion automatique à ce type d'hotspot, mais dans mon expérience, cela ne fonctionne pas toujours.

EDIT: Pour ajouter, avant que j'utilise SSL, je l'utilisais pour la détecter pour le HTTP uni et posez un message d'erreur approprié. Il est probablement conseillé d'attraper cette erreur dans votre application et de mettre un message similaire "Vous pouvez être connecté à un point d'accès qui vous oblige à vous connecter", etc. Maintenant que vous m'avez rappelé, j'ai besoin de le faire dans la mienne app.


3 commentaires

L'utilisateur dit qu'il a essayé à la fois sur WiFi et les réseaux de données cellulaires avec la même erreur. Il a également ré-installé l'application.


Il est vraiment étrange que cela fonctionne dans Safari mais pas de votre client. Utilisez-vous l'URL standard Stuff et quelle stratégie de cache utilisez-vous? L'utilisateur a-t-il essayé de dégager le cache de safari?


Il s'agit d'une suggestion très utile car la plupart des applications qui se connectent à une API sur HTTPS rencontreront ce problème.



0
votes

J'ai vu le même message d'erreur sur un téléphone de test jailbreaké que j'avais, mais pas sur mes autres téléphones à tester. Je ne l'ai jamais enquêté plus loin, mais je pensais que je voudrais mentionner au cas où cela aide ...


0 commentaires

6
votes

On dirait que tout vérifie l'installation du certificat. Tous les certificats intermédiaires sont envoyés par le serveur: http: / /wwww.sslshopper.com/ssl-checker.html?hostname=api.Serverdensity.com


0 commentaires

2
votes

Nous utilisions auparavant une méthode d'authentification "codée" à l'aide de l'authentification HTTP de base lors de la connexion à notre API: xxx

mais commutée à l'aide d'une méthode "appropriée" dans notre dernière mise à jour: < / p> xxx

en utilisant NsurlCredential pour gérer correctement l'authentification HTTP. Après cette mise à jour, l'erreur de certificat a disparu pour l'utilisateur concerné.


0 commentaires

4
votes

Veuillez vérifier le réglage de la date et de l'heure de votre iPhone ou de votre iPod, si vous faites face à l'erreur indiquant "Certificat de serveur non approuvé".

Après avoir corrigé la date et l'heure de l'iPhone / iPod "Réglage". Il prendra automatiquement soin de toutes les applications (c'est-à-dire Yahoo Messenger, Citrix, Push Mail .... etc.) Rencontre "Certificat de serveur non approuvé". Donner juste essayer. J'espère que ce sera un peu d'aide pour vous. Merci.


1 commentaires

Travaillé comme un charme. Merci!



0
votes

Je confirmerais que votre téléphone peut charger n'importe quel HTTPS: // URL sans avertissement. J'ai un ancien iPhone 3.1.3 que pour une raison quelconque avertit de tout cert qu'il rencontre. Je ne sais pas quelle est la raison mais cela rend presque inutile pour tester mon service Web.


0 commentaires

3
votes

Les premiers appareils IOS et Android sont arrivés avec une base de données plus petite que-dektop-navigateur de certificats root. Vous devez concaténer vos certificats de CA intermédiaires avec votre certificat de serveur et que le serveur Web soit envoyé sur le téléphone. Plus tard, iOS et Android libellés résolvent cela en incluant plus de certificats CA CERTS.


0 commentaires