Premiers pas avec le kit de développement logiciel (SDK) BlackBerry Dynamics pour iOS
Téléchargez, installez et configurez le kit de développement logiciel (SDK) BlackBerry Dynamics pour iOS.
Blogue
·%3Aquality(100)&w=3840&q=75)
Apprendre
Découvrez les composants et les avantages de la plateforme BlackBerry Dynamics Secure Mobility. Cette ressource fournit des renseignements sur l'utilisation du SDK BlackBerry Dynamics pour iOS, Android, Cordova et React Native. Pour plus d'informations sur l'utilisation du SDK pour toutes les plateformes disponibles, consultez la documentation du SDK BlackBerry Dynamics.
Aperçu de l'architecture
Le kit de développement logiciel (SDK) BlackBerry Dynamics offre un ensemble d'outils performants aux éditeurs de logiciels indépendants (ISV) et aux développeurs d'applications d'entreprise. Il leur permet de se concentrer sur la création d'applications commerciales et professionnelles plutôt que sur leur sécurisation, leur déploiement et leur gestion. La plateforme BlackBerry Dynamics comprend :
Gestion du cycle de vie
Politiques de sécurité et de conformité
Connexion sécurisée aux services d'entreprise
stockage sécurisé
Communication interapplications sécurisée
Politiques de configuration et de spécificité de l'application
%3Aquality(100)&w=3840&q=75)
La façon la plus simple de comprendre la plateforme BlackBerry Dynamics est de la considérer comme composée de trois éléments clés : le SDK BlackBerry Dynamics et les serveurs BlackBerry (BlackBerry). UEM ) connectés par l'infrastructure infonuagique BlackBerry (ou centre d'opérations réseau). BlackBerry Dynamics fournit les services et l'architecture nécessaires pour créer, déployer et gérer des applications en toute sécurité. UEM Elle inclut la plateforme BlackBerry Dynamics Secure Mobility et fournit la solution Enterprise Mobility Management (EMM) pour gérer les appareils en toute sécurité.
Avec l'acquisition de Good Technology par BlackBerry, BlackBerry a créé un produit unifié doté des meilleures capacités en matière de gestion des appareils personnels (BYOD), d'EMM et de gestion des appareils mobiles (MDM).
Plateforme de mobilité sécurisée BlackBerry Dynamics
La plateforme BlackBerry Dynamics (BD) est composée de BD Runtime, du centre d'opérations réseau (NOC) BD et des serveurs BD.
L'environnement d'exécution BD est intégré à chaque application mobile BD. Il dispose d'une API permettant à l'application d'accéder à l'activation, à l'authentification des utilisateurs, au stockage sécurisé, à la communication derrière le pare-feu et bien plus encore, tout en appliquant les politiques de sécurité de l'organisation. Pour utiliser l'environnement d'exécution BD, vous devez télécharger le kit de développement logiciel (SDK) BlackBerry Dynamics pour la plateforme cible (iOS, Android, Cordova, React Native).
En incluant le SDK BlackBerry Dynamics dans votre application, vous aurez accès aux politiques d'application, à la communication inter-applications, au stockage sécurisé, aux services partagés, à la délégation d'authentification, à l'authentification unique (KCD), aux informations de configuration des utilisateurs et des applications, et bien plus encore.
Mûre UEM
Mûre UEM Il s'agit du composant serveur qui centralise l'ensemble des fonctionnalités. Il combine les fonctionnalités BYOD de pointe de BlackBerry Dynamics avec la solution EMM (incluant MDM) de pointe. Les administrateurs utilisent UEM pour gérer les utilisateurs, les groupes, les politiques, les applications, les configurations d'applications et bien plus encore.
L'infrastructure infonuagique BlackBerry (ou NOC) permet une communication sécurisée entre votre application BD Runtime et le proxy BlackBerry. Elle vérifie également la validité des identifiants et clés d'accès avant que les données ne soient transmises à votre entreprise, et prend en charge l'infrastructure de transmission sécurisée des applications serveur vers les applications BD Runtime.
UEM La solution EMM inclut les serveurs proxy BlackBerry, qui fournissent divers services aux utilisateurs, aux appareils et aux applications.
Pour les développeurs d'applications, vous obtenez :
Politiques de sécurité et de conformité
Connexion sécurisée aux services d'entreprise
Configuration de l'application
Politiques d'application
Stockage sécurisé sur l'appareil
Fonctionnalité d'effacement et de verrouillage
Communication interapplications sécurisée
Gestion du cycle de vie des applications
Serveur de mobilité d'entreprise BlackBerry (BEMS)
La plateforme BlackBerry Dynamics offre des fonctionnalités mBaaS (Mobile Backend as a Service) pour les entreprises. Plusieurs de ces services mBaaS sont implémentés dans le serveur BlackBerry Enterprise Mobility Server (BEMS). BEMS assure une connectivité programmatique via des API standardisées avec les systèmes d'entreprise, notamment Microsoft SharePoint, Microsoft Teams, Microsoft Exchange, Cisco Jabber, Active Directory et bien d'autres. BEMS fournit des API permettant d'appeler des services tels que les notifications poussées, la recherche dans l'annuaire, le stockage clé-valeur, l'accès aux documents, la messagerie instantanée et la présence. Les développeurs peuvent ainsi intégrer ces services à leurs applications sans avoir à maîtriser la configuration ni la connexion aux systèmes d'information back-end.
Ces services back-end d'entreprise de haute qualité sont utilisés par BlackBerry Work , BlackBerry Connect et d'autres applications BlackBerry Secured. Les éditeurs de logiciels indépendants (ISV) et les applications BlackBerry Secured personnalisées peuvent également utiliser ces services.
Un examen plus approfondi des trousses de développement logiciel (SDK) BlackBerry Dynamics
La plateforme BlackBerry Dynamics offre une gamme de trousses de développement logiciel (SDK) et de modules d'extension, permettant aux développeurs de travailler dans des environnements familiers pour créer des applications natives, hybrides et web. Une fois les applications développées, les développeurs peuvent assumer le rôle d'administrateur informatique afin de valider rapidement la gestion et la distribution de leurs applications via la plateforme BlackBerry Dynamics.
Le kit de développement logiciel (SDK) BlackBerry Dynamics est disponible nativement pour les principales plateformes et technologies de développement, notamment iOS et Android.
De plus, BlackBerry prend en charge les cadres de développement multiplateformes via des SDK BlackBerry Dynamics dédiés pour Cordova et React Native.
Services de sécurité
Les services de sécurité vous permettent de répondre aux préoccupations liées à la sécurité des informations sensibles de l'entreprise accessibles sur les appareils mobiles. Vous pouvez ainsi garantir que le contenu stocké sur les appareils, échangé avec les ressources protégées par le pare-feu de l'entreprise ou partagé entre les applications sécurisées BlackBerry est toujours chiffré. La plateforme utilisant des bibliothèques de chiffrement indépendantes de l'appareil et conformes aux normes gouvernementales, le contenu est systématiquement chiffré. Le kit de développement logiciel (SDK) BlackBerry Dynamics prend en charge les services de sécurité suivants :
API d'identité et d'autorisation
API de stockage sécurisée
API de communications sécurisées
API d'échange de données interapplications sécurisées
Services mobiles
Les services mobiles vous permettent de créer des applications attrayantes qui améliorent la productivité des utilisateurs. Vous pouvez réduire le temps de développement en utilisant des services existants : fini les développements à partir de zéro ! Et comme la plateforme BlackBerry Dynamics sert de base à tous les services, le chiffrement de niveau gouvernemental garantit une sécurité de bout en bout. Le kit de développement logiciel (SDK) BlackBerry Dynamics prend en charge les services mobiles suivants :
Service de présence
Service d'envoi de courriel
Service de transfert de fichiers
Service de notification push
Service de recherche d'annuaire
Service de documentation
Service de lancement
Services de plateforme
Les services de plateforme facilitent l'intégration des applications à l'infrastructure d'entreprise (par exemple, Active Directory, SharePoint, Exchange, Office 365, Lync). Concentrez-vous sur la création d'applications novatrices sans vous soucier de la programmation côté serveur, de la maintenance des serveurs ou du déploiement d'une infrastructure complexe. Authentification unique, mise à l'échelle horizontale, haute disponibilité et reprise après sinistre, accès à l'intranet sans VPN : la plateforme BlackBerry Dynamics actuelle vous offre toutes ces fonctionnalités. Le kit de développement logiciel (SDK) BlackBerry Dynamics prend en charge les services mobiles suivants :
Gestion des identités et des accès
Authentification par authentification unique
Déploiement d'applications fiables à grande échelle
Accès sécurisé aux données de l'entreprise
Contrôles au niveau de l'application pour l'informatique
Installation et configuration
Téléchargez, installez et configurez le kit de développement logiciel (SDK) BlackBerry Dynamics pour iOS.
Utilisez l'une des méthodes suivantes pour intégrer le SDK BlackBerry Dynamics. Il est recommandé d'utiliser CocoaPods.
Exigences logicielles
Consultez la section « Configuration requise et prise en charge des fonctionnalités spécifiques à la plateforme » du Guide de développement du SDK BlackBerry Dynamics.
Utilisez CocoaPods
Si vous n'avez pas de fichier Podfile, consultez https://cocoapods.org/ pour savoir comment en créer un.
Dans votre fichier Podfile, ajoutez la référence suivante au pod BlackBerry Dynamics SDK :
capsule « BlackBerryDynamics »Pour ajouter BlackBerry Dynamics ATSL à l'application cible pour les tests d'interface utilisateur, ajoutez le pod suivant à votre Podfile :
pod 'BlackBerryDynamicsAutomatedTestSupportLibrary'
Pour plus d'informations, consultez Ajoutez des tests automatisés à votre application BlackBerry Dynamics pour iOS..Si votre application utilise le fichier default.xcconfig, ajoutez ce qui suit à la fin de votre Podfile :
post_install faire |installer|# Ajouter la configuration de default.xcconfig à la configuration générée par Cocoapodssi Dir.glob("**/default.xcconfig").premier()système("find Pods -name 'Pods-*.xcconfig' -exec sh -c 'cat 'find . -name default.xcconfig' »> $1' -- (} \ \;")finfinInstallez les pods, puis ouvrez votre fichier d'espace de travail pour voir le projet dans Xcode :
$ pod installer
Utilisez les fichiers disponibles dans le paquet SDK
Extract the contents of the BlackBerry_Dynamics_SDK_for_iOS_<version>_dylib.tar.gz file into a directory.
À partir du répertoire Frameworks du paquet SDK extrait, copiez tous les fichiers du cadre dans le répertoire souhaité.
Importez les cadres dans le projet en les faisant glisser du répertoire
Dans la liste Frameworks, bibliothèques et contenu intégré de la cible du projet :
Ajoutez BlackBerryDynamics.xcframework, BlackBerryCerticom.xcframework et BlackBerryCerticomSBGSE.xcframework ; si nécessaire, ajoutez BlackBerryDynamicsAutomatedTestSupportLibrary.xcframework.
Configurez tous les cadres ci-dessus sur « Incorporer et signer » afin qu'Xcode modifie le fichier projet en ajoutant les cadres à l'étape « Incorporer les cadres » dans les phases de compilation et configure les chemins de recherche Runpath en conséquence.
Développer
Développer une application BlackBerry sécurisée pour iOS
Nouvelle application
La façon la plus simple de commencer à utiliser le kit de développement logiciel (SDK) BlackBerry Dynamics pour iOS est d'utiliser les exemples d'applications BlackBerry Dynamics disponibles dans le paquet du SDK.
Pour utiliser les applications, procédez comme suit :
Exécutez la commande `pod install` pour installer les dépendances du projet, y compris BlackBerry Dynamics.
Lancez Xcode et ouvrez le projet.
Modifiez l' identifiant du paquet pour le remplacer par le vôtre.
Modifiez l' identifiant d'URL et les schémas d'URL dans le fichier Info.plist.
Modifiez l' identifiant de l'application GD dans le fichier Info.plist.
Remarque : Le format général est com.votre_entreprise.nom_de_l'application (en minuscules uniquement, sans espaces, et ne doit pas commencer par com.good ou com.blackberry). Un même identifiant peut être utilisé pour plusieurs applications sur différentes plateformes, comme iOS et Android. Il est donc recommandé d'éviter les renseignements propres à une plateforme (par exemple : com.votre_entreprise.ios.application).Créez, déployez et exécutez l'application.
Application existante
Ajoutez et configurez le SDK BlackBerry Dynamics
Pour ajouter le kit de développement logiciel (SDK) BlackBerry Dynamics à un projet existant, effectuez les actions décrites dans la section « Installation et configuration ».
Une fois le kit de développement logiciel (SDK) BlackBerry Dynamics ajouté au projet, suivez les étapes ci-dessous pour le configurer.
Définissez l'ID de l'application BlackBerry Dynamics et la version de BlackBerry Dynamics dans le fichier Info.plist de l'application.
ID GDApplication
La forme générale est com.votresociété.nom_de_l'application (uniquement en minuscules, sans espaces, et ne doit pas commencer par com.good ou com.blackberry).
Un même identifiant peut être utilisé pour plusieurs applications sur différentes plateformes comme iOS et Android. Il est recommandé d'éviter d'inclure les renseignements propres à la plateforme (exemple : com.votresociété.application.ios).
Version de l'application GD
Un numéro de version est composé de quatre parties. Utilisez 1.0.0.0 pour la première version de l'application avec le SDK BlackBerry Dynamics.
Il n'est pas recommandé de changer fréquemment de version, sauf si c'est nécessaire pour fournir un accès différent à des utilisateurs spécifiques ou pour différencier une nouvelle application des versions existantes de l'application en raison de nouveaux services ajoutés.Ajoutez une référence de variable dans le schéma d'URL et les spécificateurs d'identifiant d'URL. Ajoutez le code suivant dans le fichier info.plist.
<key>CFBundleURLTypes</key><array><dict><key>CFBundleURLName</key><string>Bundle_Identifier_of_your_app</string><key>CFBundleURLSchemes</key><array><string>Bundle_Identifier_of_your_app.sc2</string><string>Bundle_Identifier_of_your_app.sc2.1.0.0.0</string><string>Bundle_Identifier_of_your_app.sc3</string><string>com.good.gd.discovery</string></array></dict></array>Le kit de développement logiciel (SDK) BlackBerry Dynamics doit utiliser la caméra de l'appareil et peut être configuré pour utiliser l'authentification Face ID. Par conséquent, les clés NSFaceIDUsageDescription et NSCameraUsageDescription doivent être ajoutées au fichier InfoPlist.strings si l'application existante ne le fait pas déjà.
"NSFaceIDUsageDescription" = "Permet l'authentification sans mot de passe.";"NSCameraUsageDescription" = "Autoriser l'utilisation de la caméra pour scanner un code QR" ;
Intégrer le SDK BlackBerry Dynamics
Pour fonctionner comme une application BlackBerry Dynamics, l'application doit utiliser le protocole GDiOSDelegate et l'exécution du code de lancement doit être retardée jusqu'à ce que l'utilisateur final ait été autorisé.
Voici les principales étapes nécessaires :
Implémentez le protocole GDiOSDelegate pour recevoir les objets GDAppEvent du SDK BlackBerry Dynamics.
Utilisez GDAppEvent fourni dans la méthode de gestion de GDiOSDelegate pour traiter les événements d'autorisation.
Désactivez le chargement automatique du storyboard principal. Chargez-le plutôt par programmation une fois l'utilisateur final authentifié.
Déclenchez le processus d'autorisation géré par le SDK BlackBerry Dynamics dans la méthode didFinishLaunchingWithOptions de l'application, en appelant la méthode GDiOS.sharedInstance().authorize()
Modifiez le UIApplicationDelegate pour retarder le chargement de l'interface utilisateur principale jusqu'à ce que l'utilisateur final soit autorisé par le SDK BlackBerry Dynamics.
@UIApplicationMainclass AppDelegate: UIResponder, UIApplicationDelegate { var fenêtre : UIWindow ? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Set the AppDelegate in the GDiOSDelegate AppGDiOSDelegate.sharedInstance.appDelegate = soi-même // Trigger end-user authorization process with BlackBerry Dynamics SDK GDiOS.sharedInstance().authorize(AppGDiOSDelegate.sharedInstance) renvoyer vrai }}
Implémentez le GDiOSDelegate pour gérer les événements provenant du SDK BlackBerry Dynamics et charger l'interface utilisateur principale lorsque l'événement autorisé est reçu.
importer BlackBerryDynamics.Runtimeclass AppGDiOSDelegate : NSObject, GDiOSDelegate { statique let sharedInstance = AppGDiOSDelegate() var hasAuthorized = faux variable appDelegate faible : AppDelegate ? func handle(_ anEvent:GDAppEvent) { switch anEvent.type { cas. autorisé : self.onAuthorized(unÉvénement); rupture cas .notAuthorized : self.onNotAuthorized(unÉvénement); rupture cas .remoteSettingsUpdate : //A change to application-related configuration or policy settings. rupture cas .servicesUpdate : //A change to services-related configuration. rupture case .policyUpdate : //A change to one or more application-specific policy settings has been received. rupture défaut: print("Événement non géré : '\(anEvent.message)'") rupture } } func onAuthorized(_ anEvent: GDAppEvent) { // Handle the BlackBerry Dynamics SDK authorized event switch anEvent.code { cas .errorNone : si (!hasAuthorized) { // Prepare main storyboard and root view controller let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: Bundle.main) let rootViewController = mainStoryboard.instantiateInitialViewController() self.appDelegate!.window?.rootViewController = rootViewController autorisé = vrai } défaut: assert(false, "Démarrage autorisé avec une erreur") rupture } }}
Déploiement et test
Déployez votre application BlackBerry Dynamics sur un téléphone intelligent, une tablette ou un émulateur à des fins de test.
Vous avez besoin de :
Une connexion Internet
Un téléphone intelligent, une tablette ou un émulateur pris en charge par BlackBerry Dynamics
Un BlackBerry UEM serveur ou utiliser le mode de simulation d'entreprise
Remarque : Il est possible d’effectuer des tests automatisés du SDK BlackBerry Dynamics à l’aide des API fournies dans la bibliothèque optionnelle BlackBerry Dynamics Automated Test Support Library (ATSL). Voir ci-dessous pour plus de détails sur la façon de l’intégrer et de l’utiliser.
Mode de simulation d'entreprise
Pour exécuter et tester une application BlackBerry Dynamics, un BlackBerry UEM Un serveur est nécessaire, mais, malgré des limitations importantes, le mode de simulation d'entreprise peut être utilisé pour tester une application sans connexion à un BlackBerry. UEM serveur
En mode de simulation d'entreprise, aucune authentification utilisateur n'est requise au niveau de l'entreprise ; par conséquent, aucune communication ne transite par le pare-feu de l'entreprise. Si l'application nécessite une connexion derrière le pare-feu, un BlackBerry sera alors utilisé. UEM Un serveur est nécessaire.
Important : le mode de simulation d'entreprise n'est pas destiné à un environnement de production et son exécution est limitée au simulateur iOS.
Bien que le mode de simulation d'entreprise ne soit pas adapté au déploiement en production d'une application, il est utile pendant le développement et pour vérifier le bon fonctionnement et le comportement lors de la migration d'applications existantes vers BlackBerry Dynamics.
En mode simulation, aucune clé d'activation valide n'est requise pour ouvrir l'application, car aucune communication directe n'est établie avec les serveurs de BlackBerry Dynamics. La communication avec le centre d'opérations réseau (NOC) de BlackBerry Dynamics demeure toutefois active.
Pour activer le mode de simulation d'entreprise pour une application BlackBerry Dynamics, ajoutez les éléments suivants au fichier Info.plist :
<key>GDLibraryMode</key><string>GDEnterpriseSimulation</string>
Pour la désactiver, remplacez la valeur par GDEnterprise ou supprimez complètement la clé.
Lors du premier lancement d'une application BlackBerry Dynamics sur un système cible, celle-ci doit être activée sur le serveur BlackBerry Dynamics. En mode de simulation d'entreprise , toute adresse courriel et toute clé d'accès de 15 caractères sont acceptées pour l'activation. Une fois l'application activée, elle invite l'utilisateur à créer un mot de passe.
Le lien « Exigences relatives aux mots de passe » au bas de l’écran fournit des indications sur la complexité requise pour les mots de passe. Hors du mode de simulation d'entreprise, la complexité des mots de passe est contrôlée par des stratégies gérées par votre administrateur informatique. UEM console de gestion.
Le mode de simulation d'entreprise présente les différences suivantes par rapport à l'exécution standard en entreprise :
[Simulé] apparaîtra dans l'interface utilisateur de BlackBerry Dynamics Runtime.
Toute adresse courriel et clé d'activation seront acceptées pour l'activation en entreprise.
Aucune information n'est réellement envoyée aux serveurs de l'entreprise, y compris l'adresse courriel et la clé d'activation.
Le flux de configuration de l'approvisionnement et des politiques est simulé dans l'interface utilisateur.
Un ensemble de politiques de sécurité et de conformité prédéfinies est en vigueur ; l'authentification n'est pas déléguée.
Lorsqu'elle est exécutée sur un appareil physique et non sur un émulateur, l'application sera effacée.
Toute tentative de modification du mode de GDEnterprise à GDEnterpriseSimulation pour une application déjà installée sur un appareil entraînera la suppression de l'application.
Aucune récupération de mot de passe perdu n'est disponible.
La communication interconteneurs (ICC) ne peut pas être utilisée, ce qui signifie que l'API BlackBerry Dynamics Services ne peut pas être utilisée.
Sinon, les API de stockage sécurisé, de communication sécurisée et de canal push sont toutes disponibles en mode de simulation d'entreprise .
Les API de communication ne pourront pas se connecter aux serveurs d'applications d'entreprise via le UEM serveur, bien que des connexions directes aux serveurs d'applications d'entreprise restent possibles, par exemple si le simulateur iOS est exécuté sur une machine qui se trouve sur le réseau d'entreprise ou le VPN.
Utilisation de BlackBerry UEM serveur
Mûre UEM ou BlackBerry UEM Une instance infonuagique est nécessaire pour effectuer les tests sur un téléphone intelligent ou une tablette réelle.
Suivez les étapes requises pour configurer une application BlackBerry Secured en vue de tests. UEM Si vous n'en avez pas encore un UEM Une fois votre instance en place, vous pouvez en configurer une avec une licence d'essai gratuite pour développeur. Cliquez ici pour générer une licence d'essai et commencer la configuration de votre serveur.
Une fois les serveurs installés, poursuivez avec les étapes suivantes.
1) Configurez l'application sur BlackBerry UEM ou BlackBerry UEM Nuage
La première étape consiste à définir l'application dans le BlackBerry. UEM
Connectez-vous à votre BlackBerry. UEM console de gestion.
Cliquez sur Applications > Nouvelle application > Droits d'accès aux applications internes BlackBerry Dynamics > Suivant.
Spécifiez l'ID et la version du droit d'accès BlackBerry Dynamics définis dans le fichier Info.plist. Par exemple : com.mycompany.testApp et 1.0.0.0.
Cliquez sur Ajouter.
Votre application figurera dans la liste des applications disponibles. Si vous devez fournir des paramètres de configuration supplémentaires, comme l'autorisation de serveurs ou la configuration d'une politique d'application, sélectionnez votre application dans la liste et configurez-la en conséquence.
Recommandation : Ajoutez l’identifiant du bundle à la configuration de l’application. Cela permet l’ activation simplifiée , évitant ainsi la saisie d’une clé d’accès au premier lancement. Cette étape est également nécessaire si votre application utilise les services BlackBerry AppKinetics.
Pour ajouter ces valeurs :
Cliquez sur l'application.
Dans l'onglet iOS, entrez la valeur appropriée
Cliquez sur Enregistrer.
2) Désactiver la détection antidébogage
Mûre UEM Cette fonctionnalité empêche l'exécution des versions de débogage des applications BlackBerry Dynamics. Pour permettre le développement d'applications, cette option doit être désactivée dans le profil de conformité attribué à l'utilisateur effectuant les tests.
Pour désactiver cette stratégie, suivez les étapes ci-dessous :
Connectez-vous à UEM console de gestion.
Dans le menu de gauche, cliquez sur Politiques et profils > Conformité.
Ouvrez le profil de conformité attribué à l'utilisateur de test.
Dans l'onglet iOS, si l'option « Système d'exploitation jailbreaké » est cochée, assurez-vous que l'option « Activer l'antidébogage pour les applications BlackBerry Dynamics » n'est pas sélectionnée.
3) Permettre aux utilisateurs de l'application
Une fois l'application enregistrée sur un BlackBerry UEM Pour installer et utiliser l'application sur le serveur, les utilisateurs doivent être autorisés. Ces permissions peuvent être accordées à des utilisateurs individuels ou à des groupes d'utilisateurs. En production, il est recommandé d'utiliser des groupes d'utilisateurs. Lors du développement ou des tests, l'utilisation d'utilisateurs individuels est suffisante.
Pour assigner une application à un utilisateur individuel, suivez les étapes suivantes :
Connectez-vous à UEM console de gestion.
Trouvez et sélectionnez un compte utilisateur.
Dans la section Applications de votre profil utilisateur, cliquez sur +.
Trouvez et sélectionnez votre application.
Cliquez sur Suivant.
Laissez le champ Disposition sur facultatif (l'installation ne sera pas forcée) et cliquez sur Attribuer.
Selon la configuration de votre délégué d'authentification, vous devrez peut-être générer un mot de passe d'activation qui sera utilisé lors du premier lancement de l'application après son installation.
Pour générer un nouveau mot de passe d'activation :
Dans le profil de l'utilisateur, sous l'onglet Résumé, cliquez sur Définir le mot de passe d'activation .
Dans la liste déroulante des options d'activation, cliquez sur Activation par défaut de l'appareil .
Dans la liste déroulante Mot de passe d'activation, cliquez sur Définir le mot de passe d'activation de l'appareil .
Dans le champ « Mot de passe d'activation de l'appareil », entrez le mot de passe à utiliser lors du premier lancement de l'application après son installation.
À des fins de développement, il peut être utile de prolonger la période d'activation jusqu'à la durée maximale permise (30 jours).
Cliquez sur Soumettre.
L'utilisateur reçoit un courriel contenant les identifiants et un code QR qui peut être utilisé pour activer l'application lors de son premier lancement après l'installation.
Le courriel envoyé à l'utilisateur est également visible depuis le UEM console en cliquant sur le lien « Afficher le courriel d’activation »Installez l'application sur la cible prévue en utilisant la méthode de déploiement préférée (y compris via Xcode).
Lorsque vous y êtes invité, sélectionnez un type d'activation parmi ceux disponibles.
Utilisez « saisir les identifiants » pour utiliser directement votre adresse courriel et votre mot de passe d'activation.
Utilisez l'option « Scanner le code QR » si l'application est exécutée sur un appareil doté d'un appareil photo et si le code QR figurant dans le courriel d'activation peut être scanné même à partir d'un écran.
Essais automatisés du SDK BlackBerry Dynamics
Le kit de développement logiciel (SDK) BlackBerry Dynamics inclut la bibliothèque de support de test automatisé BlackBerry Dynamics (ATSL) pour prendre en charge les tests automatisés de vos applications BlackBerry Dynamics.
La bibliothèque inclut des fonctions d'assistance pour tester les interactions utilisateur courantes dans les applications BlackBerry Dynamics, comme l'activation et l'autorisation. Sa configuration et sa structure sont compatibles avec les outils proposés par Apple pour les tests d'interface utilisateur.
Il utilise les composants suivants :
Cadre XCTest
Identifiants d'accessibilité
Pour plus d'informations sur ces composants et les tests d'interface utilisateur iOS, consultez la documentation Apple : Tests d'interface utilisateur .
Vous pouvez utiliser la bibliothèque BlackBerry Dynamics et les composants de bibliothèque natifs mentionnés ci-dessus pour automatiser la création, l'exécution et la génération de rapports pour vos tests d'application.
Étant donné que BlackBerry Dynamics ATSL est fourni sous forme de cadre, vous ne pouvez pas y apporter vos propres modifications.
Intégrer le cadre BlackBerryDynamicsAutomatedTestSupportLibrary
Le cadre BlackBerryDynamicsAutomatedTestSupportLibrary peut être intégré à la cible de test d'un projet comme n'importe quel autre cadre du SDK BlackBerry Dynamics.
Consultez les instructions de la section « Installation et configuration » pour connaître les étapes détaillées.
Utilisation du cadre BlackBerryDynamicsAutomatedTestSupportLibrary
Dans le même répertoire que le code de test, créez un fichier credentials.json dont le contenu est semblable à celui ci-dessous :
{ "GD_TEST_PROVISION_EMAIL":"testUser@mydomain.com", "GD_TEST_PROVISION_ACCESS_KEY":"mot_de_passe_activation", "GD_TEST_PROVISION_PASSWORD":"passwordForApplication"}
Remarque : Les champs GD_TEST_PROVISION_EMAIL et GD_TEST_PROVISION_PASSWORD peuvent être codés en dur. Toutefois, si le test s’exécute sur une application non activée, la clé d’accès GD_TEST_PROVISION_ACCESS_KEY doit être régénérée avant le démarrage des tests via BlackBerry. UEM Il faut soit utiliser les API REST, soit le configurer manuellement sur le BlackBerry. UEM serveur avec une validité prolongée (définissez par exemple la durée d'expiration de la période d'activation à 30 jours).
Si le test ne réinstalle pas l'application et que celle-ci est provisionnée, la valeur de GD_TEST_PROVISION_ACCESS_KEY ne sera pas utilisée car le SDK BlackBerry Dynamics peut être autorisé simplement à l'aide du mot de passe défini lors du provisionnement initial de l'application, extrait du champ GD_TEST_PROVISION_PASSWORD.
Pour utiliser la classe BBDAutomatedTestSupport dans n'importe quel test, suivez ces étapes :
Instancier la classe principale BBDAutomatedTestSupport
let ats = BBDAutomatedTestSupport.sharedInstance()Charger les informations d'identification avec
ats.fetchCredentials()Définissez l'objet XCUIApplication à utiliser et configurez BBDAutomatedTestSupport pour l'utiliser.
soit application = XCUIApplication()ats.setupBBDAutomatedTestSupport(avec : application, pour : soi-même)Lancez le flux d'autorisation avec
XCTAssertTrue(ats.loginOrProvisionBBDApp(), "Impossible d'autoriser l'application")Vérifiez que le processus d'autorisation a réussi et que l'interface utilisateur principale de l'application s'affiche avec un élément semblable à celui-ci :
XCTAssertTrue(ats.isScreenShown("AppRootControllerIdentifier", timeout: 120), "L'autorisation du SDK BlackBerry Dynamics a réussi, mais l'interface utilisateur principale de l'application ne s'est pas affichée")
Remarques :
Le fichier JSON contenant les informations d'identification peut avoir un nom et/ou un chemin différents ; il peut être chargé à l'aide de variantes de la fonction fetchCredentials() .
L'authentification biométrique n'est que partiellement prise en charge par la bibliothèque BlackBerryDynamicsAutomatedTestSupportLibrary car, de par sa nature même, elle ne peut être testée automatiquement que sur un simulateur.
Réussite! Continuer
Félicitations pour le développement de votre première application sécurisée BlackBerry Dynamics ! Vous pouvez continuer à explorer les API et les ressources pour développeurs disponibles. Découvrez ci-dessous quelques-unes des API les plus courantes.
Les extraits de code mentionnés dans cette section sont disponibles dans les exemples d'applications iOS du site GitHub de BlackBerry. Téléchargez le dépôt d'exemples BlackBerry Dynamics pour iOS et consultez ces projets :
Bases iOS Objective-C
iOS Swift de base
Dynamique iOS Objective-C
Dynamique iOS – Swift
Exemple d'interface utilisateur Dynamics-Swift
Utilisez le système de fichiers BlackBerry Dynamics
Le système de fichiers sécurisé fait partie de la fonctionnalité de stockage sécurisé BlackBerry Dynamics. Pour les applications, il fonctionne comme le gestionnaire de fichiers par défaut, à quelques différences près :
Toutes les données du système de fichiers sécurisé sont stockées sur l'appareil sous forme cryptée.
Les noms de répertoires et de fichiers sont aussi chiffrés.
Il n'existe aucun répertoire de travail courant dans le système de fichiers sécurisé. Les chemins d'accès doivent toujours être spécifiés comme chemins absolus, commençant par le caractère /.
L'accès au système de fichiers sécurisé est impossible tant que le traitement d'autorisation de BlackBerry Dynamics n'est pas terminé. Pour plus d'informations, consultez la section « autorisation » du manuel de référence de la classe GDiOS .
Le chiffrement et le déchiffrement sont transparents pour le code de l'application :
Les interfaces d'écriture de fichiers acceptent des données en clair. BlackBerry Dynamics Runtime chiffre les données et les stocke sur l'appareil.
Lorsqu'une interface de lecture de fichiers est utilisée, BlackBerry Dynamics Runtime déchiffre les données stockées et retourne les données en clair.
Les interfaces d'accès aux chemins acceptent des paramètres en clair pour les noms de répertoires et de fichiers. L'environnement d'exécution BlackBerry Dynamics chiffre les valeurs des paramètres afin de créer des chemins dans le stockage sécurisé.
Les noms de répertoires et de fichiers retournés sont en clair. BlackBerry Dynamics Runtime déchiffre les chemins d'accès dans le stockage sécurisé pour générer ces valeurs de retour.
La méthode de chiffrement utilisée par BlackBerry Dynamics Runtime exige généralement que l'utilisateur ait entré un mot de passe de sécurité à partir duquel une clé de chiffrement est dérivée.
La classe GDFileManager étant une sous-classe de la classe native NSFileManager, seulement quelques modifications mineures sont nécessaires. Il suffit de remplacer les références à NSFileManager par des références à GDFileManager .
En comparant les extraits de code avant et après modification des deux exemples d'applications, vous observerez les changements suivants :
Originaire
Fondation d'importation...fonction writeToNativeFile() -> Bool { let texte = "Texte non protégé." laisser fileData = texte?.data(using: .utf8) laisser filePath = documentsFolderPathForNamed(name: "NativeFileTest.txt") //Create a plain file using FileManager soit fileCreated = FileManager.default() .createFile(atPath: fichierFichier, contenu : données de fichier, attributs : null) retourner le fichier créé}
Dynamique
importer BlackBerryDynamics.SecureStore.File...fonction writeToGDFile() -> Bool { let text = "Texte à protéger par BlackBerry Dynamics." laisser fileData = texte?.data(using: .utf8) laisser filePath = documentsFolderPathForNamed(name: "EncryptedFileTest.txt") //Create an encrypted file using GDFileManager laisser fileCréer = GDFileManager.default() .createFile(atPath: fichierFichier, contenu : données de fichier, attributs : null) retourner le fichier créé}
Utiliser la base de données BlackBerry Dynamics SQLite
La base de données SQL sécurisée fait partie de la fonctionnalité de stockage sécurisé de BlackBerry Dynamics. Les données qui y sont stockées sont chiffrées sur l'appareil par l'environnement d'exécution BlackBerry Dynamics. Cette base de données SQL sécurisée repose sur la bibliothèque SQLite. Le chiffrement est ajouté de manière transparente à l'application par BlackBerry Dynamics. L'accès à la base de données SQL sécurisée est impossible tant que le traitement d'autorisation de BlackBerry Dynamics n'est pas terminé.
Les applications BlackBerry Dynamics accèdent à la base de données sécurisée en utilisant des classes de remplacement pour SQLite natif. Pour utiliser ces classes de remplacement, remplacez l'instruction d'importation sqlite3.h par GD_C.SecureStore.SQLite (pour les sources Swift) ou BlackBerryDynamics/GD_C/sqlite3enc.h (pour les sources Objective-C).
Pour plus d'informations sur l'utilisation des bases de données SQLite, consultez l' API Secure SQL Database .
Si vous comparez les changements requis pour SQLite entre les exemples natifs et l'exemple BlackBerry Dynamics, vous constaterez que les changements sont minimes. Seules les instructions d'importation et l'ouverture/importation d'une base de données chiffrée doivent être mises à jour. Le reste du code SQLite de l'application pourrait rester inchangé. Voici les modifications apportées :
Originaire
importer SQLite...fonction openDatabase() -> Bool { laisse fileUrl = try! FileManager.default .url(pour: .documentDirectory, dans : .userDomainMask, appropriéPour : nul, créer : faux) .appendingPathComponent("plain_database.db") var db:OpaquePointer? = nil soit result = sqlite3_open(fileUrl.path, &db) résultat de retour == SQLITE_OK}
Dynamique
importer GD_C.SecureStore.SQLite...fonction openDatabase() -> Bool { laisse fileUrl = try! FileManager.default .url(pour: .documentDirectory, dans : .userDomainMask, appropriéPour : nul, créer : faux) .appendingPathComponent("encrypted_database.db") var db:OpaquePointer? = nil soit result = sqlite3enc_open(fileUrl.path, &db) résultat de retour == SQLITE_OK}
Utiliser les connexions HTTP/HTTPS de BlackBerry Dynamics
Système de chargement GDURL
Les applications BlackBerry Dynamics peuvent utiliser le système de chargement d'URL natif. Les classes de ce système permettent de communiquer avec les serveurs d'applications situés derrière un pare-feu d'entreprise ou sur Internet. Une fois le profil de connectivité configuré dans BlackBerry UEM Pour une communication sécurisée, la classe native NSURLSession ou NSURLConnection devrait fonctionner telle quelle.
Consultez la documentation de référence de l'API du kit de développement logiciel BlackBerry Dynamics et examinez la classe GDURLLoadingSystem et la prise en charge de NSURLSession .
L'API GDHttpRequest comme approche alternative
Outre GDURLLoadingSystem, vous pouvez utiliser l'API de requête HTTP GD pour envoyer des requêtes HTTP (GET et POST) depuis l'appareil vers un serveur d'applications. Ce serveur peut être accessible par Internet ou situé derrière le pare-feu de l'entreprise. L'API de requête HTTP GD est basée sur la norme XML Http Request (XHR).
Les communications sécurisées de BlackBerry Dynamics prennent en charge le protocole HTTPS, utilisant une connexion SSL/TLS pour l'envoi des requêtes HTTP et la réception des réponses. Les requêtes HTTP et HTTPS peuvent être relayées par un proxy HTTP ou HTTPS situé sur Internet ou derrière le pare-feu de l'entreprise. L'authentification auprès du proxy est prise en charge.
Lors de l'envoi de requêtes HTTPS via un proxy HTTP, la vérification du certificat SSL/TLS doit être désactivée. La vérification du certificat n'est pas prise en charge lors de l'utilisation d'un proxy HTTP. Les communications de données HTTP de BlackBerry Dynamics ne transitent pas par le proxy spécifié dans les paramètres natifs de l'appareil, le cas échéant.
L'environnement d'exécution BlackBerry Dynamics prend en charge l'accès de base, l'accès Digest, NTLM et Kerberos pour l'authentification auprès des serveurs HTTP. À l'exception de Kerberos, tous ces mécanismes sont également pris en charge pour l'authentification auprès des proxys HTTP. L'environnement d'exécution BlackBerry Dynamics prend en charge l'authentification Kerberos version 5.
Par défaut, les témoins HTTP reçus par la communication sécurisée de BlackBerry Dynamics sont traités automatiquement.
Pour plus d'informations, consultez la documentation de référence de la classe GDHTTPRequest . Les modifications requises pour la classe GD HttpRequest sont énumérées ci-dessous :
// Open a requested URL using URLSessionfunc requestData(url : String) { soit nsUrl = URL(chaîne : url) laisser urlRequest = URLRequest(url: nsUrl!) laisser session = URLSession.init(configuration: URLSessionConfiguration.default, delegate: self, déléguéQueue : OperationQueue.init()) let task = session.dataTask(avec : urlRequest, completionHandler: { (data, response, error) in DispatchQueue.main.async { imprimer(réponse ?? "res") } }) tâche.reprendre()}
Établir des connexions BlackBerry Dynamics Socket
L'API GDSocket est asynchrone et dépend de l'état. L'application associe ses propres gestionnaires d'événements à l'objet GD Socket. Ces fonctions de rappel sont appelées lors de la survenue d'événements liés au socket ou lors d'un changement d'état de celui-ci. Les fonctions API accessibles à l'application dépendent de l'état du socket.
L'envoi de données par GDSocket se fait en deux étapes. La première consiste à ajouter les données à la mémoire tampon de sortie du socket. Ce tampon est représenté par la propriété `writeStream` et accessible via l'API ` GDDirectByteBuffer` . La deuxième étape consiste à envoyer le contenu du tampon par la connexion socket. Pour ce faire, appelez la fonction `write`.
La lecture des données à partir d'un GDSocket est asynchrone. Lorsque des données sont reçues sur l'appareil, elles sont stockées dans la mémoire tampon d'entrée du socket. L'application est ensuite avisée de la disponibilité des données par l'appel de la fonction de rappel `onRead` du délégué. Dans cette fonction, l'application utilise les données reçues de la mémoire tampon d'entrée. Ce dernier est représenté par la propriété `readStream` et est accessible via l'API `GDDirectByteBuffer` .
L'API GDSocket prend en charge l'utilisation du protocole SSL/TLS pour l'envoi et la réception de données. Par défaut, l'environnement d'exécution BlackBerry Dynamics n'offre pas les protocoles TLSv1.1 ou TLSv1.2 pour les connexions SSL/TLS avec un serveur d'applications.
Ces protocoles peuvent être activés comme suit :
Ajoutez une nouvelle ligne au fichier Info.plist de l'application :
Clé : GDControlTLSVersions
Type : Chaîne de caractères (par défaut)
Définissez la valeur à :
GDEnableTLS1.1 pour activer le protocole TLSv1.1.
GDEnableTLS1.2 pour activer les protocoles TLSv1.1 et TLSv1.2.
Alternativement, la valeur peut être un tableau contenant une ou les deux chaînes de caractères ci-dessus comme éléments distincts.
Les connexions GDSocket et les requêtes HTTP permettent de se connecter à des serveurs derrière le pare-feu de l'entreprise. L'adresse du serveur d'application de destination doit être sauvegardée sur le BlackBerry. UEM console de gestion.
L'adresse pourrait être enregistrée comme serveur de l'application ou comme serveur supplémentaire.
La configuration du serveur d'applications dans le UEM Le serveur peut être obtenu dans le code de l'application en utilisant la fonction getApplicationConfig(GDiOS) .
La connexion au serveur d'applications se fera par l'infrastructure proxy BlackBerry Dynamics. Vérifiez l'état de la connexion de l'application mobile à l'infrastructure proxy avant de tenter d'ouvrir le socket ou d'envoyer la requête HTTP.
Les modifications requises pour la classe GDSocket sont énumérées ci-dessous :
Originaire
importer CoreFoundation...class SocketHelper: StreamDelegate { fonction connectToServer() { var readStream: Unmanaged<CFReadStream>? var writeStream: Unmanaged<CFWriteStream>? var inputStream : InputStream var outputStream: OutputStream soit port = UInt32(80) let hôte = "developer.blackberry.com" comme CFString CFStreamCreatePairWithSocketToHost(nil, hôte, port, &readStream, &writeStream) fluxEntrée = fluxLit!.prendreValeurRetenue() fluxDeSortie = fluxD'écriture!.prendreValeurRetenue() inputStream.delegate = soi-même outputStream.delegate = self inputStream.schedule(in: RunLoop.current, forMode: RunLoop.Mode.default) outputStream.schedule(in: RunLoop.current, forMode: RunLoop.Mode.default) flux d'entrée.ouvrir() flux_sortie.ouvrir() } func stream(_ aStream: Stream, handle eventCode: Stream.Event) { .... }}
Dynamique
importer BlackBerryDynamics.SecureCommunication...class GDSocketHelper: GDSocketDelegate { fonction connectToServer() { soit port = Int32(80) let host = NSString(string: "developer.blackberry.com") laisse gdSocket = GDSocket(host.utf8String!, onPort: port, andUseSSL: false) gdSocket.délégué = soi-même gdSocket.connect() } func onOpen(_ socket: Any) { soit gdSocket = socket as! GDSocket; laisse httpString = NSString(string: "GET http://developer.blackberry.com/ HTTP/1.1\r\n" + "Hôte:developer.blackberry.com:80\r\n" + "Connexion : fermé\r\n" + "\r\n") gdSocket.writeStream?.write(httpString.utf8String!) gdSocket.écrire() } func onRead(_ socket: Any) { soit gdSocket = socket as! GDSocket; soit str = gdSocket.readStream?.unreadDataAsString() DispatchQueue.main.async { imprimer(Chaîne(description : str)) } gdSocket.déconnecter() } func onClose(_ socket: Any) { soit gdSocket = socket as! GDSocket; // do something if necessary }}
Opérations sécurisées de copie, de collage et de remplissage automatique
Copier et coller
L'environnement d'exécution BlackBerry Dynamics peut sécuriser ou bloquer le texte en transit vers ou depuis le presse-papiers, selon les politiques de prévention des fuites de données (DLP) configurées dans BlackBerry. UEM Le système sécurise le texte en le chiffrant lors de sa copie dans le presse-papiers de l'appareil, puis en le déchiffrant lors de son collage. Sous iOS, ces opérations sont gérées automatiquement par BlackBerry Dynamics Runtime. Aucun changement au code n'est nécessaire pour assurer la compatibilité avec iOS.
Désactiver le remplissage automatique
Pour bloquer le remplissage automatique des mots de passe, faites en sorte que le champ de texte implémente l'interface BBDAutoFillBlockerField . Cette classe est à code source ouvert et son utilisation est illustrée dans l' exemple AutoFillBlockingSample .
Premiers pas avec le kit de développement logiciel (SDK) BlackBerry Dynamics pour iOS
Téléchargez, installez et configurez le kit de développement logiciel (SDK) BlackBerry Dynamics pour iOS.
Blogue
·%3Aquality(100)&w=3840&q=75)
Apprendre
Découvrez les composants et les avantages de la plateforme BlackBerry Dynamics Secure Mobility. Cette ressource fournit des renseignements sur l'utilisation du SDK BlackBerry Dynamics pour iOS, Android, Cordova et React Native. Pour plus d'informations sur l'utilisation du SDK pour toutes les plateformes disponibles, consultez la documentation du SDK BlackBerry Dynamics.
Aperçu de l'architecture
Le kit de développement logiciel (SDK) BlackBerry Dynamics offre un ensemble d'outils performants aux éditeurs de logiciels indépendants (ISV) et aux développeurs d'applications d'entreprise. Il leur permet de se concentrer sur la création d'applications commerciales et professionnelles plutôt que sur leur sécurisation, leur déploiement et leur gestion. La plateforme BlackBerry Dynamics comprend :
Gestion du cycle de vie
Politiques de sécurité et de conformité
Connexion sécurisée aux services d'entreprise
stockage sécurisé
Communication interapplications sécurisée
Politiques de configuration et de spécificité de l'application
%3Aquality(100)&w=3840&q=75)
La façon la plus simple de comprendre la plateforme BlackBerry Dynamics est de la considérer comme composée de trois éléments clés : le SDK BlackBerry Dynamics et les serveurs BlackBerry (BlackBerry). UEM ) connectés par l'infrastructure infonuagique BlackBerry (ou centre d'opérations réseau). BlackBerry Dynamics fournit les services et l'architecture nécessaires pour créer, déployer et gérer des applications en toute sécurité. UEM Elle inclut la plateforme BlackBerry Dynamics Secure Mobility et fournit la solution Enterprise Mobility Management (EMM) pour gérer les appareils en toute sécurité.
Avec l'acquisition de Good Technology par BlackBerry, BlackBerry a créé un produit unifié doté des meilleures capacités en matière de gestion des appareils personnels (BYOD), d'EMM et de gestion des appareils mobiles (MDM).
Plateforme de mobilité sécurisée BlackBerry Dynamics
La plateforme BlackBerry Dynamics (BD) est composée de BD Runtime, du centre d'opérations réseau (NOC) BD et des serveurs BD.
L'environnement d'exécution BD est intégré à chaque application mobile BD. Il dispose d'une API permettant à l'application d'accéder à l'activation, à l'authentification des utilisateurs, au stockage sécurisé, à la communication derrière le pare-feu et bien plus encore, tout en appliquant les politiques de sécurité de l'organisation. Pour utiliser l'environnement d'exécution BD, vous devez télécharger le kit de développement logiciel (SDK) BlackBerry Dynamics pour la plateforme cible (iOS, Android, Cordova, React Native).
En incluant le SDK BlackBerry Dynamics dans votre application, vous aurez accès aux politiques d'application, à la communication inter-applications, au stockage sécurisé, aux services partagés, à la délégation d'authentification, à l'authentification unique (KCD), aux informations de configuration des utilisateurs et des applications, et bien plus encore.
Mûre UEM
Mûre UEM Il s'agit du composant serveur qui centralise l'ensemble des fonctionnalités. Il combine les fonctionnalités BYOD de pointe de BlackBerry Dynamics avec la solution EMM (incluant MDM) de pointe. Les administrateurs utilisent UEM pour gérer les utilisateurs, les groupes, les politiques, les applications, les configurations d'applications et bien plus encore.
L'infrastructure infonuagique BlackBerry (ou NOC) permet une communication sécurisée entre votre application BD Runtime et le proxy BlackBerry. Elle vérifie également la validité des identifiants et clés d'accès avant que les données ne soient transmises à votre entreprise, et prend en charge l'infrastructure de transmission sécurisée des applications serveur vers les applications BD Runtime.
UEM La solution EMM inclut les serveurs proxy BlackBerry, qui fournissent divers services aux utilisateurs, aux appareils et aux applications.
Pour les développeurs d'applications, vous obtenez :
Politiques de sécurité et de conformité
Connexion sécurisée aux services d'entreprise
Configuration de l'application
Politiques d'application
Stockage sécurisé sur l'appareil
Fonctionnalité d'effacement et de verrouillage
Communication interapplications sécurisée
Gestion du cycle de vie des applications
Serveur de mobilité d'entreprise BlackBerry (BEMS)
La plateforme BlackBerry Dynamics offre des fonctionnalités mBaaS (Mobile Backend as a Service) pour les entreprises. Plusieurs de ces services mBaaS sont implémentés dans le serveur BlackBerry Enterprise Mobility Server (BEMS). BEMS assure une connectivité programmatique via des API standardisées avec les systèmes d'entreprise, notamment Microsoft SharePoint, Microsoft Teams, Microsoft Exchange, Cisco Jabber, Active Directory et bien d'autres. BEMS fournit des API permettant d'appeler des services tels que les notifications poussées, la recherche dans l'annuaire, le stockage clé-valeur, l'accès aux documents, la messagerie instantanée et la présence. Les développeurs peuvent ainsi intégrer ces services à leurs applications sans avoir à maîtriser la configuration ni la connexion aux systèmes d'information back-end.
Ces services back-end d'entreprise de haute qualité sont utilisés par BlackBerry Work , BlackBerry Connect et d'autres applications BlackBerry Secured. Les éditeurs de logiciels indépendants (ISV) et les applications BlackBerry Secured personnalisées peuvent également utiliser ces services.
Un examen plus approfondi des trousses de développement logiciel (SDK) BlackBerry Dynamics
La plateforme BlackBerry Dynamics offre une gamme de trousses de développement logiciel (SDK) et de modules d'extension, permettant aux développeurs de travailler dans des environnements familiers pour créer des applications natives, hybrides et web. Une fois les applications développées, les développeurs peuvent assumer le rôle d'administrateur informatique afin de valider rapidement la gestion et la distribution de leurs applications via la plateforme BlackBerry Dynamics.
Le kit de développement logiciel (SDK) BlackBerry Dynamics est disponible nativement pour les principales plateformes et technologies de développement, notamment iOS et Android.
De plus, BlackBerry prend en charge les cadres de développement multiplateformes via des SDK BlackBerry Dynamics dédiés pour Cordova et React Native.
Services de sécurité
Les services de sécurité vous permettent de répondre aux préoccupations liées à la sécurité des informations sensibles de l'entreprise accessibles sur les appareils mobiles. Vous pouvez ainsi garantir que le contenu stocké sur les appareils, échangé avec les ressources protégées par le pare-feu de l'entreprise ou partagé entre les applications sécurisées BlackBerry est toujours chiffré. La plateforme utilisant des bibliothèques de chiffrement indépendantes de l'appareil et conformes aux normes gouvernementales, le contenu est systématiquement chiffré. Le kit de développement logiciel (SDK) BlackBerry Dynamics prend en charge les services de sécurité suivants :
API d'identité et d'autorisation
API de stockage sécurisée
API de communications sécurisées
API d'échange de données interapplications sécurisées
Services mobiles
Les services mobiles vous permettent de créer des applications attrayantes qui améliorent la productivité des utilisateurs. Vous pouvez réduire le temps de développement en utilisant des services existants : fini les développements à partir de zéro ! Et comme la plateforme BlackBerry Dynamics sert de base à tous les services, le chiffrement de niveau gouvernemental garantit une sécurité de bout en bout. Le kit de développement logiciel (SDK) BlackBerry Dynamics prend en charge les services mobiles suivants :
Service de présence
Service d'envoi de courriel
Service de transfert de fichiers
Service de notification push
Service de recherche d'annuaire
Service de documentation
Service de lancement
Services de plateforme
Les services de plateforme facilitent l'intégration des applications à l'infrastructure d'entreprise (par exemple, Active Directory, SharePoint, Exchange, Office 365, Lync). Concentrez-vous sur la création d'applications novatrices sans vous soucier de la programmation côté serveur, de la maintenance des serveurs ou du déploiement d'une infrastructure complexe. Authentification unique, mise à l'échelle horizontale, haute disponibilité et reprise après sinistre, accès à l'intranet sans VPN : la plateforme BlackBerry Dynamics actuelle vous offre toutes ces fonctionnalités. Le kit de développement logiciel (SDK) BlackBerry Dynamics prend en charge les services mobiles suivants :
Gestion des identités et des accès
Authentification par authentification unique
Déploiement d'applications fiables à grande échelle
Accès sécurisé aux données de l'entreprise
Contrôles au niveau de l'application pour l'informatique
Installation et configuration
Téléchargez, installez et configurez le kit de développement logiciel (SDK) BlackBerry Dynamics pour iOS.
Utilisez l'une des méthodes suivantes pour intégrer le SDK BlackBerry Dynamics. Il est recommandé d'utiliser CocoaPods.
Exigences logicielles
Consultez la section « Configuration requise et prise en charge des fonctionnalités spécifiques à la plateforme » du Guide de développement du SDK BlackBerry Dynamics.
Utilisez CocoaPods
Si vous n'avez pas de fichier Podfile, consultez https://cocoapods.org/ pour savoir comment en créer un.
Dans votre fichier Podfile, ajoutez la référence suivante au pod BlackBerry Dynamics SDK :
capsule « BlackBerryDynamics »Pour ajouter BlackBerry Dynamics ATSL à l'application cible pour les tests d'interface utilisateur, ajoutez le pod suivant à votre Podfile :
pod 'BlackBerryDynamicsAutomatedTestSupportLibrary'
Pour plus d'informations, consultez Ajoutez des tests automatisés à votre application BlackBerry Dynamics pour iOS..Si votre application utilise le fichier default.xcconfig, ajoutez ce qui suit à la fin de votre Podfile :
post_install faire |installer|# Ajouter la configuration de default.xcconfig à la configuration générée par Cocoapodssi Dir.glob("**/default.xcconfig").premier()système("find Pods -name 'Pods-*.xcconfig' -exec sh -c 'cat 'find . -name default.xcconfig' »> $1' -- (} \ \;")finfinInstallez les pods, puis ouvrez votre fichier d'espace de travail pour voir le projet dans Xcode :
$ pod installer
Utilisez les fichiers disponibles dans le paquet SDK
Extract the contents of the BlackBerry_Dynamics_SDK_for_iOS_<version>_dylib.tar.gz file into a directory.
À partir du répertoire Frameworks du paquet SDK extrait, copiez tous les fichiers du cadre dans le répertoire souhaité.
Importez les cadres dans le projet en les faisant glisser du répertoire
Dans la liste Frameworks, bibliothèques et contenu intégré de la cible du projet :
Ajoutez BlackBerryDynamics.xcframework, BlackBerryCerticom.xcframework et BlackBerryCerticomSBGSE.xcframework ; si nécessaire, ajoutez BlackBerryDynamicsAutomatedTestSupportLibrary.xcframework.
Configurez tous les cadres ci-dessus sur « Incorporer et signer » afin qu'Xcode modifie le fichier projet en ajoutant les cadres à l'étape « Incorporer les cadres » dans les phases de compilation et configure les chemins de recherche Runpath en conséquence.
Développer
Développer une application BlackBerry sécurisée pour iOS
Nouvelle application
La façon la plus simple de commencer à utiliser le kit de développement logiciel (SDK) BlackBerry Dynamics pour iOS est d'utiliser les exemples d'applications BlackBerry Dynamics disponibles dans le paquet du SDK.
Pour utiliser les applications, procédez comme suit :
Exécutez la commande `pod install` pour installer les dépendances du projet, y compris BlackBerry Dynamics.
Lancez Xcode et ouvrez le projet.
Modifiez l' identifiant du paquet pour le remplacer par le vôtre.
Modifiez l' identifiant d'URL et les schémas d'URL dans le fichier Info.plist.
Modifiez l' identifiant de l'application GD dans le fichier Info.plist.
Remarque : Le format général est com.votre_entreprise.nom_de_l'application (en minuscules uniquement, sans espaces, et ne doit pas commencer par com.good ou com.blackberry). Un même identifiant peut être utilisé pour plusieurs applications sur différentes plateformes, comme iOS et Android. Il est donc recommandé d'éviter les renseignements propres à une plateforme (par exemple : com.votre_entreprise.ios.application).Créez, déployez et exécutez l'application.
Application existante
Ajoutez et configurez le SDK BlackBerry Dynamics
Pour ajouter le kit de développement logiciel (SDK) BlackBerry Dynamics à un projet existant, effectuez les actions décrites dans la section « Installation et configuration ».
Une fois le kit de développement logiciel (SDK) BlackBerry Dynamics ajouté au projet, suivez les étapes ci-dessous pour le configurer.
Définissez l'ID de l'application BlackBerry Dynamics et la version de BlackBerry Dynamics dans le fichier Info.plist de l'application.
ID GDApplication
La forme générale est com.votresociété.nom_de_l'application (uniquement en minuscules, sans espaces, et ne doit pas commencer par com.good ou com.blackberry).
Un même identifiant peut être utilisé pour plusieurs applications sur différentes plateformes comme iOS et Android. Il est recommandé d'éviter d'inclure les renseignements propres à la plateforme (exemple : com.votresociété.application.ios).
Version de l'application GD
Un numéro de version est composé de quatre parties. Utilisez 1.0.0.0 pour la première version de l'application avec le SDK BlackBerry Dynamics.
Il n'est pas recommandé de changer fréquemment de version, sauf si c'est nécessaire pour fournir un accès différent à des utilisateurs spécifiques ou pour différencier une nouvelle application des versions existantes de l'application en raison de nouveaux services ajoutés.Ajoutez une référence de variable dans le schéma d'URL et les spécificateurs d'identifiant d'URL. Ajoutez le code suivant dans le fichier info.plist.
<key>CFBundleURLTypes</key><array><dict><key>CFBundleURLName</key><string>Bundle_Identifier_of_your_app</string><key>CFBundleURLSchemes</key><array><string>Bundle_Identifier_of_your_app.sc2</string><string>Bundle_Identifier_of_your_app.sc2.1.0.0.0</string><string>Bundle_Identifier_of_your_app.sc3</string><string>com.good.gd.discovery</string></array></dict></array>Le kit de développement logiciel (SDK) BlackBerry Dynamics doit utiliser la caméra de l'appareil et peut être configuré pour utiliser l'authentification Face ID. Par conséquent, les clés NSFaceIDUsageDescription et NSCameraUsageDescription doivent être ajoutées au fichier InfoPlist.strings si l'application existante ne le fait pas déjà.
"NSFaceIDUsageDescription" = "Permet l'authentification sans mot de passe.";"NSCameraUsageDescription" = "Autoriser l'utilisation de la caméra pour scanner un code QR" ;
Intégrer le SDK BlackBerry Dynamics
Pour fonctionner comme une application BlackBerry Dynamics, l'application doit utiliser le protocole GDiOSDelegate et l'exécution du code de lancement doit être retardée jusqu'à ce que l'utilisateur final ait été autorisé.
Voici les principales étapes nécessaires :
Implémentez le protocole GDiOSDelegate pour recevoir les objets GDAppEvent du SDK BlackBerry Dynamics.
Utilisez GDAppEvent fourni dans la méthode de gestion de GDiOSDelegate pour traiter les événements d'autorisation.
Désactivez le chargement automatique du storyboard principal. Chargez-le plutôt par programmation une fois l'utilisateur final authentifié.
Déclenchez le processus d'autorisation géré par le SDK BlackBerry Dynamics dans la méthode didFinishLaunchingWithOptions de l'application, en appelant la méthode GDiOS.sharedInstance().authorize()
Modifiez le UIApplicationDelegate pour retarder le chargement de l'interface utilisateur principale jusqu'à ce que l'utilisateur final soit autorisé par le SDK BlackBerry Dynamics.
@UIApplicationMainclass AppDelegate: UIResponder, UIApplicationDelegate { var fenêtre : UIWindow ? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Set the AppDelegate in the GDiOSDelegate AppGDiOSDelegate.sharedInstance.appDelegate = soi-même // Trigger end-user authorization process with BlackBerry Dynamics SDK GDiOS.sharedInstance().authorize(AppGDiOSDelegate.sharedInstance) renvoyer vrai }}
Implémentez le GDiOSDelegate pour gérer les événements provenant du SDK BlackBerry Dynamics et charger l'interface utilisateur principale lorsque l'événement autorisé est reçu.
importer BlackBerryDynamics.Runtimeclass AppGDiOSDelegate : NSObject, GDiOSDelegate { statique let sharedInstance = AppGDiOSDelegate() var hasAuthorized = faux variable appDelegate faible : AppDelegate ? func handle(_ anEvent:GDAppEvent) { switch anEvent.type { cas. autorisé : self.onAuthorized(unÉvénement); rupture cas .notAuthorized : self.onNotAuthorized(unÉvénement); rupture cas .remoteSettingsUpdate : //A change to application-related configuration or policy settings. rupture cas .servicesUpdate : //A change to services-related configuration. rupture case .policyUpdate : //A change to one or more application-specific policy settings has been received. rupture défaut: print("Événement non géré : '\(anEvent.message)'") rupture } } func onAuthorized(_ anEvent: GDAppEvent) { // Handle the BlackBerry Dynamics SDK authorized event switch anEvent.code { cas .errorNone : si (!hasAuthorized) { // Prepare main storyboard and root view controller let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: Bundle.main) let rootViewController = mainStoryboard.instantiateInitialViewController() self.appDelegate!.window?.rootViewController = rootViewController autorisé = vrai } défaut: assert(false, "Démarrage autorisé avec une erreur") rupture } }}
Déploiement et test
Déployez votre application BlackBerry Dynamics sur un téléphone intelligent, une tablette ou un émulateur à des fins de test.
Vous avez besoin de :
Une connexion Internet
Un téléphone intelligent, une tablette ou un émulateur pris en charge par BlackBerry Dynamics
Un BlackBerry UEM serveur ou utiliser le mode de simulation d'entreprise
Remarque : Il est possible d’effectuer des tests automatisés du SDK BlackBerry Dynamics à l’aide des API fournies dans la bibliothèque optionnelle BlackBerry Dynamics Automated Test Support Library (ATSL). Voir ci-dessous pour plus de détails sur la façon de l’intégrer et de l’utiliser.
Mode de simulation d'entreprise
Pour exécuter et tester une application BlackBerry Dynamics, un BlackBerry UEM Un serveur est nécessaire, mais, malgré des limitations importantes, le mode de simulation d'entreprise peut être utilisé pour tester une application sans connexion à un BlackBerry. UEM serveur
En mode de simulation d'entreprise, aucune authentification utilisateur n'est requise au niveau de l'entreprise ; par conséquent, aucune communication ne transite par le pare-feu de l'entreprise. Si l'application nécessite une connexion derrière le pare-feu, un BlackBerry sera alors utilisé. UEM Un serveur est nécessaire.
Important : le mode de simulation d'entreprise n'est pas destiné à un environnement de production et son exécution est limitée au simulateur iOS.
Bien que le mode de simulation d'entreprise ne soit pas adapté au déploiement en production d'une application, il est utile pendant le développement et pour vérifier le bon fonctionnement et le comportement lors de la migration d'applications existantes vers BlackBerry Dynamics.
En mode simulation, aucune clé d'activation valide n'est requise pour ouvrir l'application, car aucune communication directe n'est établie avec les serveurs de BlackBerry Dynamics. La communication avec le centre d'opérations réseau (NOC) de BlackBerry Dynamics demeure toutefois active.
Pour activer le mode de simulation d'entreprise pour une application BlackBerry Dynamics, ajoutez les éléments suivants au fichier Info.plist :
<key>GDLibraryMode</key><string>GDEnterpriseSimulation</string>
Pour la désactiver, remplacez la valeur par GDEnterprise ou supprimez complètement la clé.
Lors du premier lancement d'une application BlackBerry Dynamics sur un système cible, celle-ci doit être activée sur le serveur BlackBerry Dynamics. En mode de simulation d'entreprise , toute adresse courriel et toute clé d'accès de 15 caractères sont acceptées pour l'activation. Une fois l'application activée, elle invite l'utilisateur à créer un mot de passe.
Le lien « Exigences relatives aux mots de passe » au bas de l’écran fournit des indications sur la complexité requise pour les mots de passe. Hors du mode de simulation d'entreprise, la complexité des mots de passe est contrôlée par des stratégies gérées par votre administrateur informatique. UEM console de gestion.
Le mode de simulation d'entreprise présente les différences suivantes par rapport à l'exécution standard en entreprise :
[Simulé] apparaîtra dans l'interface utilisateur de BlackBerry Dynamics Runtime.
Toute adresse courriel et clé d'activation seront acceptées pour l'activation en entreprise.
Aucune information n'est réellement envoyée aux serveurs de l'entreprise, y compris l'adresse courriel et la clé d'activation.
Le flux de configuration de l'approvisionnement et des politiques est simulé dans l'interface utilisateur.
Un ensemble de politiques de sécurité et de conformité prédéfinies est en vigueur ; l'authentification n'est pas déléguée.
Lorsqu'elle est exécutée sur un appareil physique et non sur un émulateur, l'application sera effacée.
Toute tentative de modification du mode de GDEnterprise à GDEnterpriseSimulation pour une application déjà installée sur un appareil entraînera la suppression de l'application.
Aucune récupération de mot de passe perdu n'est disponible.
La communication interconteneurs (ICC) ne peut pas être utilisée, ce qui signifie que l'API BlackBerry Dynamics Services ne peut pas être utilisée.
Sinon, les API de stockage sécurisé, de communication sécurisée et de canal push sont toutes disponibles en mode de simulation d'entreprise .
Les API de communication ne pourront pas se connecter aux serveurs d'applications d'entreprise via le UEM serveur, bien que des connexions directes aux serveurs d'applications d'entreprise restent possibles, par exemple si le simulateur iOS est exécuté sur une machine qui se trouve sur le réseau d'entreprise ou le VPN.
Utilisation de BlackBerry UEM serveur
Mûre UEM ou BlackBerry UEM Une instance infonuagique est nécessaire pour effectuer les tests sur un téléphone intelligent ou une tablette réelle.
Suivez les étapes requises pour configurer une application BlackBerry Secured en vue de tests. UEM Si vous n'en avez pas encore un UEM Une fois votre instance en place, vous pouvez en configurer une avec une licence d'essai gratuite pour développeur. Cliquez ici pour générer une licence d'essai et commencer la configuration de votre serveur.
Une fois les serveurs installés, poursuivez avec les étapes suivantes.
1) Configurez l'application sur BlackBerry UEM ou BlackBerry UEM Nuage
La première étape consiste à définir l'application dans le BlackBerry. UEM
Connectez-vous à votre BlackBerry. UEM console de gestion.
Cliquez sur Applications > Nouvelle application > Droits d'accès aux applications internes BlackBerry Dynamics > Suivant.
Spécifiez l'ID et la version du droit d'accès BlackBerry Dynamics définis dans le fichier Info.plist. Par exemple : com.mycompany.testApp et 1.0.0.0.
Cliquez sur Ajouter.
Votre application figurera dans la liste des applications disponibles. Si vous devez fournir des paramètres de configuration supplémentaires, comme l'autorisation de serveurs ou la configuration d'une politique d'application, sélectionnez votre application dans la liste et configurez-la en conséquence.
Recommandation : Ajoutez l’identifiant du bundle à la configuration de l’application. Cela permet l’ activation simplifiée , évitant ainsi la saisie d’une clé d’accès au premier lancement. Cette étape est également nécessaire si votre application utilise les services BlackBerry AppKinetics.
Pour ajouter ces valeurs :
Cliquez sur l'application.
Dans l'onglet iOS, entrez la valeur appropriée
Cliquez sur Enregistrer.
2) Désactiver la détection antidébogage
Mûre UEM Cette fonctionnalité empêche l'exécution des versions de débogage des applications BlackBerry Dynamics. Pour permettre le développement d'applications, cette option doit être désactivée dans le profil de conformité attribué à l'utilisateur effectuant les tests.
Pour désactiver cette stratégie, suivez les étapes ci-dessous :
Connectez-vous à UEM console de gestion.
Dans le menu de gauche, cliquez sur Politiques et profils > Conformité.
Ouvrez le profil de conformité attribué à l'utilisateur de test.
Dans l'onglet iOS, si l'option « Système d'exploitation jailbreaké » est cochée, assurez-vous que l'option « Activer l'antidébogage pour les applications BlackBerry Dynamics » n'est pas sélectionnée.
3) Permettre aux utilisateurs de l'application
Une fois l'application enregistrée sur un BlackBerry UEM Pour installer et utiliser l'application sur le serveur, les utilisateurs doivent être autorisés. Ces permissions peuvent être accordées à des utilisateurs individuels ou à des groupes d'utilisateurs. En production, il est recommandé d'utiliser des groupes d'utilisateurs. Lors du développement ou des tests, l'utilisation d'utilisateurs individuels est suffisante.
Pour assigner une application à un utilisateur individuel, suivez les étapes suivantes :
Connectez-vous à UEM console de gestion.
Trouvez et sélectionnez un compte utilisateur.
Dans la section Applications de votre profil utilisateur, cliquez sur +.
Trouvez et sélectionnez votre application.
Cliquez sur Suivant.
Laissez le champ Disposition sur facultatif (l'installation ne sera pas forcée) et cliquez sur Attribuer.
Selon la configuration de votre délégué d'authentification, vous devrez peut-être générer un mot de passe d'activation qui sera utilisé lors du premier lancement de l'application après son installation.
Pour générer un nouveau mot de passe d'activation :
Dans le profil de l'utilisateur, sous l'onglet Résumé, cliquez sur Définir le mot de passe d'activation .
Dans la liste déroulante des options d'activation, cliquez sur Activation par défaut de l'appareil .
Dans la liste déroulante Mot de passe d'activation, cliquez sur Définir le mot de passe d'activation de l'appareil .
Dans le champ « Mot de passe d'activation de l'appareil », entrez le mot de passe à utiliser lors du premier lancement de l'application après son installation.
À des fins de développement, il peut être utile de prolonger la période d'activation jusqu'à la durée maximale permise (30 jours).
Cliquez sur Soumettre.
L'utilisateur reçoit un courriel contenant les identifiants et un code QR qui peut être utilisé pour activer l'application lors de son premier lancement après l'installation.
Le courriel envoyé à l'utilisateur est également visible depuis le UEM console en cliquant sur le lien « Afficher le courriel d’activation »Installez l'application sur la cible prévue en utilisant la méthode de déploiement préférée (y compris via Xcode).
Lorsque vous y êtes invité, sélectionnez un type d'activation parmi ceux disponibles.
Utilisez « saisir les identifiants » pour utiliser directement votre adresse courriel et votre mot de passe d'activation.
Utilisez l'option « Scanner le code QR » si l'application est exécutée sur un appareil doté d'un appareil photo et si le code QR figurant dans le courriel d'activation peut être scanné même à partir d'un écran.
Essais automatisés du SDK BlackBerry Dynamics
Le kit de développement logiciel (SDK) BlackBerry Dynamics inclut la bibliothèque de support de test automatisé BlackBerry Dynamics (ATSL) pour prendre en charge les tests automatisés de vos applications BlackBerry Dynamics.
La bibliothèque inclut des fonctions d'assistance pour tester les interactions utilisateur courantes dans les applications BlackBerry Dynamics, comme l'activation et l'autorisation. Sa configuration et sa structure sont compatibles avec les outils proposés par Apple pour les tests d'interface utilisateur.
Il utilise les composants suivants :
Cadre XCTest
Identifiants d'accessibilité
Pour plus d'informations sur ces composants et les tests d'interface utilisateur iOS, consultez la documentation Apple : Tests d'interface utilisateur .
Vous pouvez utiliser la bibliothèque BlackBerry Dynamics et les composants de bibliothèque natifs mentionnés ci-dessus pour automatiser la création, l'exécution et la génération de rapports pour vos tests d'application.
Étant donné que BlackBerry Dynamics ATSL est fourni sous forme de cadre, vous ne pouvez pas y apporter vos propres modifications.
Intégrer le cadre BlackBerryDynamicsAutomatedTestSupportLibrary
Le cadre BlackBerryDynamicsAutomatedTestSupportLibrary peut être intégré à la cible de test d'un projet comme n'importe quel autre cadre du SDK BlackBerry Dynamics.
Consultez les instructions de la section « Installation et configuration » pour connaître les étapes détaillées.
Utilisation du cadre BlackBerryDynamicsAutomatedTestSupportLibrary
Dans le même répertoire que le code de test, créez un fichier credentials.json dont le contenu est semblable à celui ci-dessous :
{ "GD_TEST_PROVISION_EMAIL":"testUser@mydomain.com", "GD_TEST_PROVISION_ACCESS_KEY":"mot_de_passe_activation", "GD_TEST_PROVISION_PASSWORD":"passwordForApplication"}
Remarque : Les champs GD_TEST_PROVISION_EMAIL et GD_TEST_PROVISION_PASSWORD peuvent être codés en dur. Toutefois, si le test s’exécute sur une application non activée, la clé d’accès GD_TEST_PROVISION_ACCESS_KEY doit être régénérée avant le démarrage des tests via BlackBerry. UEM Il faut soit utiliser les API REST, soit le configurer manuellement sur le BlackBerry. UEM serveur avec une validité prolongée (définissez par exemple la durée d'expiration de la période d'activation à 30 jours).
Si le test ne réinstalle pas l'application et que celle-ci est provisionnée, la valeur de GD_TEST_PROVISION_ACCESS_KEY ne sera pas utilisée car le SDK BlackBerry Dynamics peut être autorisé simplement à l'aide du mot de passe défini lors du provisionnement initial de l'application, extrait du champ GD_TEST_PROVISION_PASSWORD.
Pour utiliser la classe BBDAutomatedTestSupport dans n'importe quel test, suivez ces étapes :
Instancier la classe principale BBDAutomatedTestSupport
let ats = BBDAutomatedTestSupport.sharedInstance()Charger les informations d'identification avec
ats.fetchCredentials()Définissez l'objet XCUIApplication à utiliser et configurez BBDAutomatedTestSupport pour l'utiliser.
soit application = XCUIApplication()ats.setupBBDAutomatedTestSupport(avec : application, pour : soi-même)Lancez le flux d'autorisation avec
XCTAssertTrue(ats.loginOrProvisionBBDApp(), "Impossible d'autoriser l'application")Vérifiez que le processus d'autorisation a réussi et que l'interface utilisateur principale de l'application s'affiche avec un élément semblable à celui-ci :
XCTAssertTrue(ats.isScreenShown("AppRootControllerIdentifier", timeout: 120), "L'autorisation du SDK BlackBerry Dynamics a réussi, mais l'interface utilisateur principale de l'application ne s'est pas affichée")
Remarques :
Le fichier JSON contenant les informations d'identification peut avoir un nom et/ou un chemin différents ; il peut être chargé à l'aide de variantes de la fonction fetchCredentials() .
L'authentification biométrique n'est que partiellement prise en charge par la bibliothèque BlackBerryDynamicsAutomatedTestSupportLibrary car, de par sa nature même, elle ne peut être testée automatiquement que sur un simulateur.
Réussite! Continuer
Félicitations pour le développement de votre première application sécurisée BlackBerry Dynamics ! Vous pouvez continuer à explorer les API et les ressources pour développeurs disponibles. Découvrez ci-dessous quelques-unes des API les plus courantes.
Les extraits de code mentionnés dans cette section sont disponibles dans les exemples d'applications iOS du site GitHub de BlackBerry. Téléchargez le dépôt d'exemples BlackBerry Dynamics pour iOS et consultez ces projets :
Bases iOS Objective-C
iOS Swift de base
Dynamique iOS Objective-C
Dynamique iOS – Swift
Exemple d'interface utilisateur Dynamics-Swift
Utilisez le système de fichiers BlackBerry Dynamics
Le système de fichiers sécurisé fait partie de la fonctionnalité de stockage sécurisé BlackBerry Dynamics. Pour les applications, il fonctionne comme le gestionnaire de fichiers par défaut, à quelques différences près :
Toutes les données du système de fichiers sécurisé sont stockées sur l'appareil sous forme cryptée.
Les noms de répertoires et de fichiers sont aussi chiffrés.
Il n'existe aucun répertoire de travail courant dans le système de fichiers sécurisé. Les chemins d'accès doivent toujours être spécifiés comme chemins absolus, commençant par le caractère /.
L'accès au système de fichiers sécurisé est impossible tant que le traitement d'autorisation de BlackBerry Dynamics n'est pas terminé. Pour plus d'informations, consultez la section « autorisation » du manuel de référence de la classe GDiOS .
Le chiffrement et le déchiffrement sont transparents pour le code de l'application :
Les interfaces d'écriture de fichiers acceptent des données en clair. BlackBerry Dynamics Runtime chiffre les données et les stocke sur l'appareil.
Lorsqu'une interface de lecture de fichiers est utilisée, BlackBerry Dynamics Runtime déchiffre les données stockées et retourne les données en clair.
Les interfaces d'accès aux chemins acceptent des paramètres en clair pour les noms de répertoires et de fichiers. L'environnement d'exécution BlackBerry Dynamics chiffre les valeurs des paramètres afin de créer des chemins dans le stockage sécurisé.
Les noms de répertoires et de fichiers retournés sont en clair. BlackBerry Dynamics Runtime déchiffre les chemins d'accès dans le stockage sécurisé pour générer ces valeurs de retour.
La méthode de chiffrement utilisée par BlackBerry Dynamics Runtime exige généralement que l'utilisateur ait entré un mot de passe de sécurité à partir duquel une clé de chiffrement est dérivée.
La classe GDFileManager étant une sous-classe de la classe native NSFileManager, seulement quelques modifications mineures sont nécessaires. Il suffit de remplacer les références à NSFileManager par des références à GDFileManager .
En comparant les extraits de code avant et après modification des deux exemples d'applications, vous observerez les changements suivants :
Originaire
Fondation d'importation...fonction writeToNativeFile() -> Bool { let texte = "Texte non protégé." laisser fileData = texte?.data(using: .utf8) laisser filePath = documentsFolderPathForNamed(name: "NativeFileTest.txt") //Create a plain file using FileManager soit fileCreated = FileManager.default() .createFile(atPath: fichierFichier, contenu : données de fichier, attributs : null) retourner le fichier créé}
Dynamique
importer BlackBerryDynamics.SecureStore.File...fonction writeToGDFile() -> Bool { let text = "Texte à protéger par BlackBerry Dynamics." laisser fileData = texte?.data(using: .utf8) laisser filePath = documentsFolderPathForNamed(name: "EncryptedFileTest.txt") //Create an encrypted file using GDFileManager laisser fileCréer = GDFileManager.default() .createFile(atPath: fichierFichier, contenu : données de fichier, attributs : null) retourner le fichier créé}
Utiliser la base de données BlackBerry Dynamics SQLite
La base de données SQL sécurisée fait partie de la fonctionnalité de stockage sécurisé de BlackBerry Dynamics. Les données qui y sont stockées sont chiffrées sur l'appareil par l'environnement d'exécution BlackBerry Dynamics. Cette base de données SQL sécurisée repose sur la bibliothèque SQLite. Le chiffrement est ajouté de manière transparente à l'application par BlackBerry Dynamics. L'accès à la base de données SQL sécurisée est impossible tant que le traitement d'autorisation de BlackBerry Dynamics n'est pas terminé.
Les applications BlackBerry Dynamics accèdent à la base de données sécurisée en utilisant des classes de remplacement pour SQLite natif. Pour utiliser ces classes de remplacement, remplacez l'instruction d'importation sqlite3.h par GD_C.SecureStore.SQLite (pour les sources Swift) ou BlackBerryDynamics/GD_C/sqlite3enc.h (pour les sources Objective-C).
Pour plus d'informations sur l'utilisation des bases de données SQLite, consultez l' API Secure SQL Database .
Si vous comparez les changements requis pour SQLite entre les exemples natifs et l'exemple BlackBerry Dynamics, vous constaterez que les changements sont minimes. Seules les instructions d'importation et l'ouverture/importation d'une base de données chiffrée doivent être mises à jour. Le reste du code SQLite de l'application pourrait rester inchangé. Voici les modifications apportées :
Originaire
importer SQLite...fonction openDatabase() -> Bool { laisse fileUrl = try! FileManager.default .url(pour: .documentDirectory, dans : .userDomainMask, appropriéPour : nul, créer : faux) .appendingPathComponent("plain_database.db") var db:OpaquePointer? = nil soit result = sqlite3_open(fileUrl.path, &db) résultat de retour == SQLITE_OK}
Dynamique
importer GD_C.SecureStore.SQLite...fonction openDatabase() -> Bool { laisse fileUrl = try! FileManager.default .url(pour: .documentDirectory, dans : .userDomainMask, appropriéPour : nul, créer : faux) .appendingPathComponent("encrypted_database.db") var db:OpaquePointer? = nil soit result = sqlite3enc_open(fileUrl.path, &db) résultat de retour == SQLITE_OK}
Utiliser les connexions HTTP/HTTPS de BlackBerry Dynamics
Système de chargement GDURL
Les applications BlackBerry Dynamics peuvent utiliser le système de chargement d'URL natif. Les classes de ce système permettent de communiquer avec les serveurs d'applications situés derrière un pare-feu d'entreprise ou sur Internet. Une fois le profil de connectivité configuré dans BlackBerry UEM Pour une communication sécurisée, la classe native NSURLSession ou NSURLConnection devrait fonctionner telle quelle.
Consultez la documentation de référence de l'API du kit de développement logiciel BlackBerry Dynamics et examinez la classe GDURLLoadingSystem et la prise en charge de NSURLSession .
L'API GDHttpRequest comme approche alternative
Outre GDURLLoadingSystem, vous pouvez utiliser l'API de requête HTTP GD pour envoyer des requêtes HTTP (GET et POST) depuis l'appareil vers un serveur d'applications. Ce serveur peut être accessible par Internet ou situé derrière le pare-feu de l'entreprise. L'API de requête HTTP GD est basée sur la norme XML Http Request (XHR).
Les communications sécurisées de BlackBerry Dynamics prennent en charge le protocole HTTPS, utilisant une connexion SSL/TLS pour l'envoi des requêtes HTTP et la réception des réponses. Les requêtes HTTP et HTTPS peuvent être relayées par un proxy HTTP ou HTTPS situé sur Internet ou derrière le pare-feu de l'entreprise. L'authentification auprès du proxy est prise en charge.
Lors de l'envoi de requêtes HTTPS via un proxy HTTP, la vérification du certificat SSL/TLS doit être désactivée. La vérification du certificat n'est pas prise en charge lors de l'utilisation d'un proxy HTTP. Les communications de données HTTP de BlackBerry Dynamics ne transitent pas par le proxy spécifié dans les paramètres natifs de l'appareil, le cas échéant.
L'environnement d'exécution BlackBerry Dynamics prend en charge l'accès de base, l'accès Digest, NTLM et Kerberos pour l'authentification auprès des serveurs HTTP. À l'exception de Kerberos, tous ces mécanismes sont également pris en charge pour l'authentification auprès des proxys HTTP. L'environnement d'exécution BlackBerry Dynamics prend en charge l'authentification Kerberos version 5.
Par défaut, les témoins HTTP reçus par la communication sécurisée de BlackBerry Dynamics sont traités automatiquement.
Pour plus d'informations, consultez la documentation de référence de la classe GDHTTPRequest . Les modifications requises pour la classe GD HttpRequest sont énumérées ci-dessous :
// Open a requested URL using URLSessionfunc requestData(url : String) { soit nsUrl = URL(chaîne : url) laisser urlRequest = URLRequest(url: nsUrl!) laisser session = URLSession.init(configuration: URLSessionConfiguration.default, delegate: self, déléguéQueue : OperationQueue.init()) let task = session.dataTask(avec : urlRequest, completionHandler: { (data, response, error) in DispatchQueue.main.async { imprimer(réponse ?? "res") } }) tâche.reprendre()}
Établir des connexions BlackBerry Dynamics Socket
L'API GDSocket est asynchrone et dépend de l'état. L'application associe ses propres gestionnaires d'événements à l'objet GD Socket. Ces fonctions de rappel sont appelées lors de la survenue d'événements liés au socket ou lors d'un changement d'état de celui-ci. Les fonctions API accessibles à l'application dépendent de l'état du socket.
L'envoi de données par GDSocket se fait en deux étapes. La première consiste à ajouter les données à la mémoire tampon de sortie du socket. Ce tampon est représenté par la propriété `writeStream` et accessible via l'API ` GDDirectByteBuffer` . La deuxième étape consiste à envoyer le contenu du tampon par la connexion socket. Pour ce faire, appelez la fonction `write`.
La lecture des données à partir d'un GDSocket est asynchrone. Lorsque des données sont reçues sur l'appareil, elles sont stockées dans la mémoire tampon d'entrée du socket. L'application est ensuite avisée de la disponibilité des données par l'appel de la fonction de rappel `onRead` du délégué. Dans cette fonction, l'application utilise les données reçues de la mémoire tampon d'entrée. Ce dernier est représenté par la propriété `readStream` et est accessible via l'API `GDDirectByteBuffer` .
L'API GDSocket prend en charge l'utilisation du protocole SSL/TLS pour l'envoi et la réception de données. Par défaut, l'environnement d'exécution BlackBerry Dynamics n'offre pas les protocoles TLSv1.1 ou TLSv1.2 pour les connexions SSL/TLS avec un serveur d'applications.
Ces protocoles peuvent être activés comme suit :
Ajoutez une nouvelle ligne au fichier Info.plist de l'application :
Clé : GDControlTLSVersions
Type : Chaîne de caractères (par défaut)
Définissez la valeur à :
GDEnableTLS1.1 pour activer le protocole TLSv1.1.
GDEnableTLS1.2 pour activer les protocoles TLSv1.1 et TLSv1.2.
Alternativement, la valeur peut être un tableau contenant une ou les deux chaînes de caractères ci-dessus comme éléments distincts.
Les connexions GDSocket et les requêtes HTTP permettent de se connecter à des serveurs derrière le pare-feu de l'entreprise. L'adresse du serveur d'application de destination doit être sauvegardée sur le BlackBerry. UEM console de gestion.
L'adresse pourrait être enregistrée comme serveur de l'application ou comme serveur supplémentaire.
La configuration du serveur d'applications dans le UEM Le serveur peut être obtenu dans le code de l'application en utilisant la fonction getApplicationConfig(GDiOS) .
La connexion au serveur d'applications se fera par l'infrastructure proxy BlackBerry Dynamics. Vérifiez l'état de la connexion de l'application mobile à l'infrastructure proxy avant de tenter d'ouvrir le socket ou d'envoyer la requête HTTP.
Les modifications requises pour la classe GDSocket sont énumérées ci-dessous :
Originaire
importer CoreFoundation...class SocketHelper: StreamDelegate { fonction connectToServer() { var readStream: Unmanaged<CFReadStream>? var writeStream: Unmanaged<CFWriteStream>? var inputStream : InputStream var outputStream: OutputStream soit port = UInt32(80) let hôte = "developer.blackberry.com" comme CFString CFStreamCreatePairWithSocketToHost(nil, hôte, port, &readStream, &writeStream) fluxEntrée = fluxLit!.prendreValeurRetenue() fluxDeSortie = fluxD'écriture!.prendreValeurRetenue() inputStream.delegate = soi-même outputStream.delegate = self inputStream.schedule(in: RunLoop.current, forMode: RunLoop.Mode.default) outputStream.schedule(in: RunLoop.current, forMode: RunLoop.Mode.default) flux d'entrée.ouvrir() flux_sortie.ouvrir() } func stream(_ aStream: Stream, handle eventCode: Stream.Event) { .... }}
Dynamique
importer BlackBerryDynamics.SecureCommunication...class GDSocketHelper: GDSocketDelegate { fonction connectToServer() { soit port = Int32(80) let host = NSString(string: "developer.blackberry.com") laisse gdSocket = GDSocket(host.utf8String!, onPort: port, andUseSSL: false) gdSocket.délégué = soi-même gdSocket.connect() } func onOpen(_ socket: Any) { soit gdSocket = socket as! GDSocket; laisse httpString = NSString(string: "GET http://developer.blackberry.com/ HTTP/1.1\r\n" + "Hôte:developer.blackberry.com:80\r\n" + "Connexion : fermé\r\n" + "\r\n") gdSocket.writeStream?.write(httpString.utf8String!) gdSocket.écrire() } func onRead(_ socket: Any) { soit gdSocket = socket as! GDSocket; soit str = gdSocket.readStream?.unreadDataAsString() DispatchQueue.main.async { imprimer(Chaîne(description : str)) } gdSocket.déconnecter() } func onClose(_ socket: Any) { soit gdSocket = socket as! GDSocket; // do something if necessary }}
Opérations sécurisées de copie, de collage et de remplissage automatique
Copier et coller
L'environnement d'exécution BlackBerry Dynamics peut sécuriser ou bloquer le texte en transit vers ou depuis le presse-papiers, selon les politiques de prévention des fuites de données (DLP) configurées dans BlackBerry. UEM Le système sécurise le texte en le chiffrant lors de sa copie dans le presse-papiers de l'appareil, puis en le déchiffrant lors de son collage. Sous iOS, ces opérations sont gérées automatiquement par BlackBerry Dynamics Runtime. Aucun changement au code n'est nécessaire pour assurer la compatibilité avec iOS.
Désactiver le remplissage automatique
Pour bloquer le remplissage automatique des mots de passe, faites en sorte que le champ de texte implémente l'interface BBDAutoFillBlockerField . Cette classe est à code source ouvert et son utilisation est illustrée dans l' exemple AutoFillBlockingSample .