La compréhension des profils d'approvisionnement et des certificats dans iOS
Est ma compréhension en ce qui concerne les profils de configuration, de certificats corrects (en cours de développement)?
- Applications sont signées avec un certificat de développeur de xcode lors de l'installation sur l'appareil? Le certificat doit exister dans le profil de configuration (stockés dans l'IPad/IPhone) et l'id de l'installation de l'appareil doit également être présent dans le profil de configuration.
- Ainsi, lorsque vous cliquez sur une application lorsque l'appareil n'est pas connecté à votre développeur mac, l'application du certificat de signature doit correspondre à l'un dans le profil de configuration (qui existe sur l'appareil) et l'id de l'appareil doit correspondre à un dans le profil de configuration, seulement alors, l'application serait de exécuter.
- Lorsque l'appareil est connecté à un mac exécutant le xcode et vous souhaitez le débogage, puis le public+clé privée stockée dans le trousseau de clés entre en jeu, xcode, tente de déverrouiller le public+clé privée stockée dans le trousseau de clés à l'aide du certificat et identifie donc le mac, et exécute également le point ci dessus et si cela est vrai, alors vous pouvez déboguer correctement
- un tutoriel à lire dans votre temps libre..
- Vous êtes donc dans votre temps libre, non?
- tutorial 🙂
- Vœu vraiment un bon tutoriel couvre toutes les choses
- De Signature de Code et de Provisionnement pour les Nuls + une grande carte blanche. medium.com/p/d5b247760bef
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, la sélection d'un profil de configuration dans Xcode est trompeuse; la construction dans Xcode en fait n'a rien à voir avec les profils que ce soit! Ce qui se passe réellement est Xcode juste correspond à la clé publique du certificat dans le profil à un autre dans votre trousseau de clés, puis utilise la clé privée pour signer le fichier exécutable. C'est de la tourbière-standard de Mach-O executable signature. C'est aussi pourquoi ils ont changé dans Xcode 5 pour être plus clair. C'est aussi là que les erreurs sur les profils (Signature de l'identité n'est pas trouvé) provient - il des moyens Xcode ne pouvais pas trouver une clé privée correspondant à l'une des clés publiques dans le profil.
Personnelles de votre certificat de développeur est la norme ICP choses; votre Mac envoie une demande à Apple pour un certificat d'une manière qu'Apple ne connaissez pas votre clé privée (similaire pour les demandes de certificat SSL). Apple génère le certificat et le trousseau compare avec l'original de la demande, de vous donner les clés publiques et privées pour le cert. Lorsqu'un profil est créé pour un développeur, développeur de la clé publique est répertorié. Quand une équipe profil est créé, les clés publiques pour l'ensemble des membres de l'équipe sont inclus. Cela permet à l'équipe les membres de signer l'exécutable, mais le nom du signataire sera le nom de l'équipe à la place de l'individu.
Quand iOS va lancer n'importe quel exécutable, il vérifie d'abord la signature. Si la signature est signé par Apple App Store, puis il exécute.
Si non, il vérifie ensuite l'installation de profils de configuration. Les profils sont les suivants:
1. Une liste des certificats de développement
2. Un ID d'application
3. Les droits à la subvention (par exemple, iCloud, Game Center, etc)
4. Une liste de périphériques avec leur udid
5. Le tout est enveloppé et signé par Apple.
Le profil est vérifié pour s'assurer qu'il a été signé par Apple clé (Apple à l'aide de la clé publique). Il valide ensuite que le dispositif actuel de l'UDID est dans la liste. Il vérifie également que l'ID de l'application correspond à (bien que les caractères génériques sont autorisés). Elle vérifie ensuite le Mach-O signature contre la liste de validité certificat de développeur de clés publiques. Si l'un de leur match, l'exécutable s'exécute et est accordé à la liste des droits. Si pas, il est bloqué.
Je vous suggère fortement de l'ouverture d'un .fichier mobileprovision dans un éditeur de texte; vous en apprendrez beaucoup!