Activation d'OpenSSL pour iOS

Le logiciel SDK de MobileFirst pour iOS utilise des API iOS natives pour la cryptographie. Vous pouvez configurer IBM MobileFirst Platform Foundation V8.0.0 afin d'utiliser la bibliothèque de cryptographie OpenSSL dans les applications iOS.

Le chiffrement / déchiffrement est fourni avec les API suivantes : WLSecurityUtils.encryptText() et WLSecurityUtils.decryptWithKey()

Option 1 : chiffrement/déchiffrement natif

Le chiffrement et le déchiffrement natifs sont fournis par défaut, sans utiliser OpenSSL, ce qui revient à définir explicitement le comportement de chiffrement/déchiffrement comme suit :

WLSecurityUtils enableOSNativeEncryption:YES

Option 2 : activation d'OpenSSL

OpenSSL est désactivé par défaut. Pour l'activer, procédez comme suit :

  1. Installez les infrastructures OpenSSL :
    • Avec CocoaPods : installez le pod IBMMobileFirstPlatformFoundationOpenSSLUtils avec CocoaPods. Voir Ajout d'OpenSSL avec CocoaPods.
    • Manuellement dans Xcode : liez les infrastructures IBMMobileFirstPlatformFoundationOpenSSLUtils et openssl manuellement dans la section Link Binary With Libraries de l'onglet Build Phases. Voir Ajout manuel d'infrastructures OpenSSL.
  2. Le code suivant active l'option OpenSSL pour le chiffrement/déchiffrement :

    WLSecurityUtils enableOSNativeEncryption:NO

    Désormais, le code utilisera l'implémentation OpenSSL s'il la trouve ou émettra une erreur si les infrastructures ne sont pas installées correctement.

Dans cette configuration, les appels de chiffrement/déchiffrement utilisent OpenSSL comme dans les versions précédentes du produit.

Options de migration

Si vous disposez d'un projet MobileFirst qui a été écrit dans une version précédente, il peut être nécessaire d'apporter des modifications afin de continuer à utiliser OpenSSL.
  • Si l'application n'utilise pas les API de chiffrement/déchiffrement et qu'aucune donnée chiffrée n'a été mise en cache sur le terminal, aucune action n'est requise.
  • Si l'application utilise les API de chiffrement/déchiffrement, vous pouvez utiliser ces API avec ou sans OpenSSL .
Migration vers le chiffrement natif :
  1. Assurez-vous que l'option de chiffrement/déchiffrement natif par défaut est sélectionnée (voir l'option 1).
  2. Migration des données mises en cache : si, dans l'installation précédente d'IBM MobileFirst Platform Foundation, des données chiffrées ont été sauvegardées sur le terminal avec OpenSSL, les infrastructures OpenSSL doivent être installées comme décrit dans l'option 2. Lorsque l'application tente de déchiffrer les données pour la première fois, elle utilise OpenSSL, puis chiffre les données avec le chiffrement natif. Si l'infrastructure OpenSSL n'est pas installée, une erreur est émise. Ainsi, les données sont migrées automatiquement vers le chiffrement natif, ce qui permet aux éditions suivantes de fonctionner sans l'infrastructure OpenSSL.
Continuer avec OpenSSL
Si OpenSSL est requis, utilisez la configuration décrite dans l'option 2.