Guide du développeur MDX

27 février 2018

Citrix XenMobile est une solution d’entreprise qui vous permet de gérer des appareils, des applications et des données mobiles. Le principe de la gestion d’application mobile (MAM) de XenMobile consiste à injecter la fonctionnalité d’entreprise dans des applications préexistantes qui sont ensuite hébergées sur le magasin d’applications privé d’une entreprise, Apple App Store ou Google Play Store.

Pour ajouter la fonctionnalité d’entreprise de XenMobile à des applications mobiles, vous devez les encapsuler avec le MDX Toolkit. Le MDX Toolkit est une technologie de conteneur d’application qui améliore l’expérience sur les appareils mobiles et prépare les applications en vue de sécuriser le déploiement avec XenMobile en ajoutant les fonctionnalités Worx. Les fonctionnalités Worx comprennent les stratégies et les paramètres, les certificats de sécurité signés et le code de gestion des applications mobiles.

Le MDX Toolkit comprend le SDK Worx App, qui procure un ensemble complet de fonctionnalités Worx à vos applications mobiles via la technologie de conteneur d’application Citrix MDX. Les API vous offrent les possibilités suivantes.

  • Effectuer des actions dans des applications encapsulées sur la base de stratégies XenMobile. À titre d’exemple, si une stratégie XenMobile empêche le couper-coller dans une application Worx, vous pouvez empêcher la sélection de texte dans votre application. Votre application peut communiquer et partager des stratégies avec d’autres applications Worx.

  • Détecter les activités dans vos applications Worx. Par exemple, vous pouvez vérifier si une application est encapsulée ou gérée.

  • Ajouter des fonctionnalités personnalisées, telles que la sécurité et l’application des stratégies.

  • Développer des applications mobiles qui s’exécuteront à l’intérieur ou à l’extérieur d’un environnement Citrix.

    Non seulement les applications qui utilisent le SDK Worx App peuvent être configurées de façon centralisée avec des stratégies Worx lorsqu’elles sont utilisées avec XenMobile, ces applications peuvent aussi fonctionner en mode autonome en dehors des environnements Citrix.

Nouveautés du SDK Worx App 10.2

La version actuelle du SDK Worx App pour iOS comprend ces améliorations.

Prise en charge d’iOS 9. Le SDK Worx App 10.2 prend en charge iOS 9.

Important :

les applications Secure Hub 10.0.x et les applications encapsulées avec le MDX Toolkit 10.0.x ne fonctionneront pas sur iOS 9. Les développeurs doivent encapsuler de nouveau les applications ISV avec le MDX Toolkit 10.2. Les utilisateurs doivent installer les applications mises à niveau avant la mise à niveau de leurs appareils vers iOS 9. Si les utilisateurs essaient d’ouvrir sur iOS 9 des applications qui ont été encapsulées avec le MDX Toolkit 10.0.x, ils ne pourront pas mettre à niveau ces applications et devront réinstaller une version de ces applications encapsulées avec le MDX Toolkit 10.2.

En raison de modifications dans iOS 9, le cryptage basé sur MDX n’est pas compatible avec iOS9 pour les données téléchargées sur un appareil iOS 9 à partir d’une application encapsulée. Le cryptage des bases de données et des trousseaux reste pleinement fonctionnel. Le MDX Toolkit 10.2 propose un autre mécanisme pour crypter les données d’application stockées sur le système de fichiers de l’appareil. Vous pouvez choisir l’une des options suivantes pour protéger les données :

  • Utilisez la protection des données de fichier iOS pour crypter les données.

Apple requiert un code secret pour crypter toutes les données des applications sur l’appareil à l’aide de la protection des données de fichier iOS. Pour prendre en charge cette protection iOS, le MDX Toolkit 10.2 comprend une nouvelle stratégie, Code secret de l’appareil, que vous pouvez utiliser pour appliquer un code PIN ou code secret sur un appareil iOS 9. Cette stratégie est activée par défaut. La stratégie s’applique à chaque application individuelle et peut être utilisée si vous exécutez XenMobile en mode MDM ou MAM.

  • En plus d’exiger la saisie d’un code PIN ou d’un code secret, vous pouvez également spécifier une classe de protection des données iOS minimum qui est utilisée pour les données applicatives stockées sur le système de fichiers.

Stratégies et iOS 9 :

  • La fonctionnalité d’entropie de l’utilisateur, qui est activée à l’aide de la clé Encrypt secrets using Passcode, n’est pas affectée par iOS 9. Le cryptage MDX des données stockées dans les bases de données, le trousseau, et le coffre sécurisé sur l’appareil n’est pas affecté.
  • Sur les appareils iOS 9, la stratégie Activer le chiffrement permet le cryptage de la base de données et du trousseau uniquement. Sur les anciens appareils iOS, la stratégie Activer le chiffrement permet encore le cryptage de fichier MDX.
  • Pour une protection supplémentaire sur les appareils avec un code secret de périphérique activé, le SDK Worx App comprend également un niveau élevé de cryptage iOS pour les fichiers que ces applications stockent sur l’appareil. Le cryptage de fichier iOS possède plusieurs niveaux de protection des données. La nouvelle stratégie Classe de protection des données minimum vous permet de spécifier une classe de protection qui est utilisée pour les données d’applications sauf si un niveau de protection des données plus élevé a déjà été spécifié dans l’application. Les valeurs de stratégies sont les suivantes.

Complète sauf si le fichier a déjà été ouvert : si un fichier est ouvert lorsqu’un appareil est verrouillé, le fichier continue d’être accessible par l’application. Cette valeur correspond à la classe NSFileProtectionCompleteUnlessOpen. Valeur par défaut.

Complète : lorsqu’un appareil est verrouillé, les fichiers deviennent indisponibles. Cette valeur correspond à NSFileProtectionComplete.

Jusqu’au premier déverrouillage : lorsqu’un appareil redémarre, les fichiers sont verrouillés et ne peuvent pas être lus tant que l’utilisateur n’a pas déverrouillé l’appareil pour la première fois. Cette valeur correspond à NSFileProtectionCompleteUntilFirstUserAuthentication.

Aucune : les fichiers ne sont dotés d’aucune protection spéciale et sont accessibles en lecture ou écriture à tout moment. Cette valeur correspond à NSFileProtectionNone.

Important : les développeurs doivent veiller à tester les applications encapsulées qui effectuent un traitement en arrière-plan, tel que l’actualisation du contenu sur un appareil verrouillé ou les synchronisations en arrière-plan.

La stratégie Classe de protection des données minimum est masquée. Pour rendre la stratégie visible dans XenMobile, ouvrez le fichier policymetadata.xml pour l’application (dans Applications/Citrix/MDXToolkit/data) et, dans la section MinimumDataProtectionClass, modifiez la valeur de PolicyHidden sur false. Après avoir encapsulé votre application, la stratégie s’affiche lorsque vous ajoutez l’application à XenMobile.

Intégration de l’encapsulation d’application avec processus de création Xcode. Les développeurs peuvent maintenant encapsuler et publier une application iOS dans le cadre du processus de création de Xcode. Pour plus d’informations, voir Intégration du SDK dans votre bibliothèque d’applications.

Prise en charge de coffre partagé dans les applications Android. Le SDK Worx App inclut désormais l’API Android pour la fonctionnalité de coffre partagé Worx, ce qui vous permet de partager un contenu géré entre les applications. Par exemple, le coffre sécurisé permet le partage de certificats et de clés privées par le biais d’une application inscrite de façon à ce que les applications puissent obtenir un certificat depuis le coffre sécurisé plutôt que depuis Secure Hub. Pour de plus amples informations, consultez la section API XenMobile pour Android.

Problèmes résolus. Consultez la section Problèmes résolus dans le MDX Toolkit.

Capacités MAM

La fonctionnalité d’entreprise ajoutée par XenMobile est contrôlée au travers de stratégies que les administrateurs mettent à jour au niveau de l’application à partir de la console XenMobile. XenMobile force les stratégies vers les appareils mobiles selon la planification établie par les administrateurs. Les stratégies gèrent des fonctionnalités, telles que les suivantes :

  • Authentification. Lors de l’ouverture d’une application gérée, XenMobile peut demander aux utilisateurs d’entrer des informations d’identification d’entreprise ou un code PIN. Cette vérification d’informations d’identification peut être répétée régulièrement.
  • Mises à jour d’applications. XenMobile notifie les utilisateurs lorsque des mises à jour d’applications gérées sont disponibles. L’administrateur peut rendre les mises à jour obligatoires dans un certain délai. Si un utilisateur n’accepte pas une mise à jour, l’ancienne version de l’application ne pourra plus être exécutée une fois que le délai aura expiré.
  • Verrouillage et effacement à distance. Un administrateur peut verrouiller temporairement ou effacer de manière permanente des applications par application ou par périphérique.
  • Cryptage des données. Pour les appareils iOS 9, XenMobile utilise le cryptage de fichier MDX pour les fichiers de base de données et de trousseau et, pour les données stockées localement, utilise le cryptage de fichier Apple. Pour les données stockées localement sur iOS 9, vous pouvez utiliser la stratégie Classe de protection des données minimum pour spécifier une classe de protection qui est utilisée pour les données d’applications sauf si un niveau de protection des données plus élevé a déjà été spécifié dans l’application.
  • Restrictions réseau et VPN. Une stratégie XenMobile contrôle l’accès réseau : l’accès peut être bloqué, routé via un VPN complet, ou routé via un VPN proxy. Le routage VPN s’effectue via un boîtier Citrix NetScaler Gateway hébergé par l’entreprise.
  • Restrictions de communication entre les applications. Une stratégie XenMobile détermine si le partage de documents entre les applications est bloqué ou autorisé uniquement entre des applications gérées. Par conséquent, la fenêtre « Ouvrir dans » dans votre application peut ignorer les applications non gérées.
  • Contention des fonctionnalités. Les stratégies XenMobile peuvent désactiver les capacités d’un appareil pour une application, parmi lesquelles la caméra, le micro et le capteur de localisation.

Composants XenMobile

Les composants XenMobile suivants offrent des fonctionnalités MAM.

  • Serveur XenMobile

    Ce serveur d’entreprise ou résidant sur le cloud héberge XenMobile Store, le magasin d’applications interne. Les administrateurs peuvent charger des applications mobiles vers XenMobile et configurer les stratégies d’application et d’appareil.

  • Secure Hub

    Les utilisateurs d’entreprise installent Secure Hub pour Android ou iOS sur leur appareil mobile, puis configurent l’application avec une adresse URL d’inscription et des informations d’identification. Lorsque Secure Hub s’ouvre, les utilisateurs sélectionnent les applications d’entreprise à partir de XenMobile Store. Une fois que les applications ont été téléchargées et installées sur l’appareil, Secure Hub est utilisé comme hub pour la gestion de ces applications, exécutant certaines tâches telles que l’authentification utilisateur et les mises à jour de stratégies administrées de façon centrale.

  • MDX

    MDX est la source des fonctionnalités MAM. Le MDX Toolkit ajoute le code MDX à votre application mobile. Outre l’encapsulation d’applications, vous ne travaillez pas directement avec le code MDX.

  • MDX Toolkit et SDK Worx App

    Le MDX Toolkit ajoute la fonctionnalité d’entreprise aux applications mobiles, un processus appelé encapsulation d’application. Le SDK Worx App permet aux développeurs et aux intégrateurs de systèmes d’activer Worx pour leurs applications mobiles. L’encapsulation d’application effectue trois tâches principales. Tout d’abord, il injecte le code Citrix dans votre application qui implémente les fonctionnalités de gestion l’application. Le résultat de cette tâche est un nouveau fichier d’application. Ensuite, l’encapsulation d’application signe le nouveau fichier d’application avec un certificat de sécurité. Enfin, l’encapsulation d’application crée un fichier MDX, qui contient des informations de stratégie et d’autres paramètres. Dans certains cas, le fichier d’application signé est également directement contenu dans le fichier MDX.

Ce guide de développeur se concentre sur l’encapsulation d’application pour les éditeurs de logiciels (ISV).

Modes gérés et non gérés pour les applications ISV

Le SDK Worx App propose un comportement d’application en mode double, ce qui vous permet de déployer des applications pouvant être exécutées avec ou sans l’infrastructure Worx. Les applications qui sont exécutées indépendamment de Secure Hub sont appelées applications non gérées. Lorsque ces applications répondent à certaines conditions, elles deviennent des applications gérées et s’exécutent sous le contrôle de Secure Hub.

Le comportement en mode double est différent du comportement des applications Worx déployées directement depuis le principal XenMobile. Ces applications nécessitent toujours la présence de Citrix Worx et l’autorisation d’un XenMobile Store pour s’exécuter.

Vous pouvez utiliser les API XenMobile pour spécifier le type de comportement en mode double nécessaire lors de l’intégration avec une application Worx. Vous pouvez développer deux versions d’une application, une non gérée et une autre gérée, ou développer une seule application à utiliser dans les deux cas et à inclure dans Worx. L’infrastructure Worx applique les comportements par défaut associés aux applications gérées et non gérées.

La transition d’une application non gérée vers le mode géré diffère selon que l’application est encapsulée en tant qu’application General ou application Premium :

  • Application General : une application General est hébergée sur l’App Store d’Apple ou Google Play Store. Les utilisateurs qui ne disposent pas de Secure Hub peuvent télécharger et exécuter l’application normalement dans un mode non géré, comme n’importe quel magasin d’applications générique. Si un utilisateur non géré installe Secure Hub ultérieurement, l’application ISV passe au mode géré si ces conditions sont remplies.

    • L’utilisateur ouvre une session sur un magasin d’entreprise de XenMobile au moins une fois.

    • L’utilisateur se trouve dans un groupe de mise à disposition XenMobile vers lequel l’application est déployée.

    • Worx abonne l’utilisateur.

    • Lorsqu’il y est invité, l’utilisateur confirme que son entreprise peut gérer l’application.

      Si un utilisateur bloque la gestion d’application d’entreprise, il peut continuer à exécuter l’application à des fins personnelles.

  • Application Premium : une application Premium est une application destinée aux utilisateurs de votre entreprise. Les applications Citrix Worx sont des exemples d’applications Premium. Bien que les applications Premium s’exécutent généralement en mode géré, l’infrastructure Worx intégrée permet aux applications Premium de s’exécuter en mode non géré avec un ensemble par défaut de stratégies Worx que vous définissez au travers des fichiers de stratégie par défaut. Par conséquent, vous pouvez contrôler le comportement de l’application et utiliser les fonctionnalités Worx, même si l’utilisateur n’est pas associé à un compte d’entreprise.

    Si un utilisateur non géré installe Secure Hub ultérieurement, l’application passe de façon silencieuse au mode géré si ces conditions sont remplies.

    • L’utilisateur se trouve dans un groupe de mise à disposition XenMobile vers lequel l’application est déployée.
    • L’utilisateur ouvre une session sur Secure Hub si nécessaire.
    • Worx abonne l’utilisateur.

Remarque : une application ne peut pas passer du mode géré au mode non géré.

Le diagramme suivant illustre les différences entre les applications General et Premium, selon qu’elles sont gérées ou non gérées.

Image du diagramme des différences entre les applications General et Premium

Encapsulation d’applications ISV

Cette section fournit des informations générales sur l’encapsulation d’applications pour les éditeurs de logiciels (ISV). L’encapsulation d’applications réalisé par les administrateurs d’entreprise est abordé dans la section À propos de l’outil MDX Toolkit.

Lorsque vous encapsulez des applications ISV, le MDX Toolkit crée deux fichiers : un fichier .mdx et le fichier applicatif (.ipa, .app ou .apk). Le MDX Toolkit vous permet d’incorporer l’URL du magasin d’applications dans le fichier .mdx, que vous pouvez mettre à disposition des clients ou télécharger vers la Worx App Gallery, comme décrit dans la section suivante. Vous pouvez alors mettre le fichier d’application à disposition via des magasins d’applications, en l’hébergeant vous-même, ou en le distribuant auprès de vos clients.

Comme illustré dans le diagramme suivant, le MDX Toolkit combine des fichiers applicatifs (.ipa, .app ou .apk) avec des composants Citrix et votre keystore ou certificat de signature pour produire un fichier .mdx et le fichier d’application modifié.

Diagramme des entrées MDX Toolkit et de sortie pour l'encapsulation d'application ISV

Les éléments ajoutés par l’encapsulation d’application ISV sont les suivants :

  • Un fichier d’informations contenant les données requises par l’infrastructure SDK Worx lorsque l’infrastructure est liée à Secure Hub. Les informations de liaison correspondantes sont transmises à Secure Hub depuis le serveur XenMobile via le fichier .mdx ajouté à XenMobile. Les données contiennent différents éléments, tels qu’un ID d’application utilisé pour l’auto-identification et un ID de package utilisé pour les vérifications de mise à jour de l’application.
  • Une empreinte numérique FIPS sur le OpenSSL FIPS Object Module Crypto incorporé dans l’application intégrée au SDK Worx App.
  • Pour iOS uniquement : un nouveau modèle d’URL qui est ajouté au fichier d’application et qui est également transmis à Secure Hub via le fichier .mdx qu’un administrateur ajoute à XenMobile.

À propos du programme Citrix Ready

Citrix évalue et certifie les applications ISV via le programme Citrix Ready. L’évaluation implique principalement des tests d’intégration de XenMobile. La certification garantit que les applications sont compatibles avec l’infrastructure XenMobile, ce qui permet aux entreprises d’utiliser vos applications en toute confiance.

Dans le cadre de ce programme Citrix Ready, vous pouvez publier les fichiers binaires de vos applications ISV certifiées directement dans l’App Store d’Apple ou Google Play Store. Cela signifie que vous n’avez pas besoin de distribuer les fichiers binaires aux entreprises, vous donnant un contrôle plus important sur les mises à jour de l’application. En outre, les applications sont signées avec votre certificat ISV. Vous pouvez également choisir de distribuer vos applications certifiées directement auprès des entreprises ou de les héberger vous-même.

Vous pouvez également choisir de distribuer le bundle .mdx pour une application ISV : publiez le bundle sur la Worx App Gallery ou distribuez le bundle directement auprès de vos clients XenMobile.

Expérience utilisateur Worx App

La manière dont les utilisateurs interagissent avec une application intégrée au SDK Worx App dépend de la façon dont ils installent et lancent l’application.

L’utilisateur démarre avec Secure Hub

  1. L’utilisateur ouvre Secure Hub et l’App Store d’Apple ou Google Play Store.
  2. L’utilisateur ouvre une session sur XenMobile Store, puis s’abonne au XenMobile Store.
  3. L’utilisateur télécharge et installe l’application à partir d’un magasin public.
  4. Secure Hub invite l’utilisateur à se connecter, si nécessaire.
  5. Si l’application était non gérée, elle passe au mode géré de manière silencieuse.

L’utilisateur démarre avec l’App Store d’Apple ou Google Play Store

Si Secure Hub est déjà présent sur l’appareil, les procédures sont les suivantes pour les applications General et Premium.

Application General

  1. L’utilisateur lance l’application.

  2. Si l’application détecte une installation de Secure Hub et que l’application y est autorisée, l’application invite l’utilisateur à confirmer la transition vers le mode géré.

  3. Si l’utilisateur accepte que son entreprise gère l’application, Secure Hub invite l’utilisateur à se connecter, si nécessaire.

  4. Une fois que Worx a inscrit l’application pour l’utilisateur, l’application passe en mode géré.

    Si l’application Secure Hub ne se trouve pas sur l’appareil ou si l’application n’est pas autorisée, l’application s’exécute en mode non géré, comme une application de magasin d’applications public standard.

Application Premium

  1. L’utilisateur lance l’application.
  2. Si l’application détecte une installation de Secure Hub et que l’application y est autorisée, l’application passe en mode géré de façon silencieuse. Si des informations d’identification Secure Hub sont requises, l’application informe l’utilisateur de la transition vers le mode géré et invite l’utilisateur à ouvrir une session.

Problèmes connus avec le SDK Worx App

Articles connexes

Les articles suivants décrivent comment intégrer le SDK Worx App dans des applications Android et iOS, utiliser les API, publier des applications, personnaliser les stratégies et assurer la meilleure compatibilité entre vos applications et XenMobile.