web-dev-qa-db-fra.com

Conformité à l'exportation ITSAppUsesNonExemptEncryption lors des tests internes?

J'ai reçu ce message lors de la sélection de la construction interne pour testing.Il dit à propos de la définition de ITSAppUsesNonExemptEncryption dans info.plist, qu'est-ce que cela signifie? Est-ce nécessaire?

enter image description here

199
Avijit Nagare

Selon la distribution WWDC2015 Quoi de neuf

enter image description here

Définir "ITSAppUsesNonExemptEncryption" sur "NO" dans info.plist fonctionne correctement. si aucun contenu cryptographique dans votre application.

enter image description here

J'ai eu ce message lors de la sélection de la version pour les tests internes, je n'ai pas inclus la clé "ITSAppUsesNonExemptEncryption" dans mon info.plist, mais j'ai quand même travaillé pour moi.

Même si j'ai téléchargé avec succès une nouvelle application, les clés "ITSEncryptionExportComplianceCode" et "ITSAppUsesNonExemptEncryption" n'étaient pas incluses.

Aussi Apple Doc.

Important: si votre application nécessite que vous fournissiez des documents supplémentaires pour la vérification du chiffrement, votre application n’a pas le statut Prêt pour la vente dans le magasin tant que la conformité à l’exportation n’a pas examiné et approuvé vos documents. L’application ne peut pas être distribuée pour les tests préliminaires tant que la conformité à l’exportation ne l’a pas examinée et approuvée.

Si votre application n'utilise pas de cryptage et que vous ne voulez pas avoir à répondre à ces questions au moment de la soumission, vous pouvez fournir des informations de conformité à l'exportation avec votre version. Vous pouvez également fournir une documentation nouvelle ou mise à jour via iTunes Connect pour recevoir la valeur de chaîne de clé appropriée à inclure dans votre construction avant de la télécharger sur iTunes Connect.

Pour ajouter une documentation de conformité d'exportation dans iTunes Connect:

Accédez à la section Cryptage sous Fonctionnalités. Cliquez sur le signe plus en regard de la section de plate-forme appropriée. Répondez aux questions de manière appropriée. Joignez le fichier lorsque vous y êtes invité. Cliquez sur Enregistrer. Vos documents seront ensuite envoyés pour examen immédiatement et l'état de votre document s'affichera dans Vérification de la conformité. Une valeur de clé sera également générée automatiquement que vous pourrez inclure dans votre fichier Info.plist. Pour plus d'informations sur l'inclusion de la valeur de clé dans votre génération, voir la section Ressources et aide relative à la conformité commerciale.

Vous pouvez télécharger une version sans clé de conformité d'exportation. Si vous incluez une clé, cela peut indiquer que vous n'avez pas besoin de documentation de conformité à l'exportation; cela ne nécessite aucune approbation. Si vous incluez une clé faisant référence à un document de conformité à l'exportation spécifique, ce document doit être approuvé. il ne peut pas être en révision ou rejeté.

enter image description here

Vous pouvez consulter vos réponses à tout moment en cliquant sur le nom du fichier et en sélectionnant Plus d’informations. Si vous devez mettre à jour votre documentation ou modifier les réponses aux questions, vous devrez répéter les étapes ci-dessus pour ajouter un nouveau document correspondant à vos modifications.

57
Avijit Nagare

Fondamentalement, <key>ITSAppUsesNonExemptEncryption</key><false/> signifie une valeur booléenne égale à NO.

info.plist value

Mise à jour par @JosepH: cette valeur signifie que l'application n'utilise aucun cryptage, ou seulement un cryptage exempté. Si votre application utilise le cryptage et n'est pas exemptée, vous devez définir cette valeur sur YES/true.

Cela semble parfois discutable lorsqu'une application est considérée comme utilisant le cryptage.

198
Elijah Saounkine

Ajoutez cette clé dans le fichier plist ... Tout ira bien ..

<key>ITSAppUsesNonExemptEncryption</key>  
<false/>

Il suffit de coller avant </dict></plist>

44
Akshay Phulare

Apple a simplifié notre processus de construction. Vous n'avez donc pas besoin de cocher la même case à chaque fois. Vous pouvez rationaliser votre flux iTC en compilant cet indicateur dans l'application.

C'est toujours le cas à partir de 2019.

23
Pedro Góes

Pour faire votre choix dans la liste déroulante, commencez à taper la ligne suivante:

App utilise un cryptage non-exempt

14
mriaz0011

Il y a essentiellement 2 choses à garder à l'esprit. Vous n'êtes autorisé à définir la valeur sur NON si vous n'utilisez pas du tout le cryptage , ou si vous êtes une partie du règlement d’exemption . Ceci s'applique aux types d'applications suivants:

Source: Chambre de commerce : https: //www.bis.doc. gov/index.php/policy-guidance/encryption/encryption-faqs # 15

Applications grand public

  • prévention du piratage et du vol de logiciels ou de musique;
  • musique, films, mélodies/musique, photos numériques - lecteurs, enregistreurs et organisateurs
  • jeux/jeux - appareils, logiciels d'exécution, interfaces HDMI et autres composants, outils de développement
  • TV LCD, Blu-ray/DVD, vidéo à la demande (VoD), cinéma, enregistreurs vidéo numériques (DVR)/enregistreurs vidéo personnels (PVR) - appareils, guides multimédia en ligne, intégrité et protection du contenu commercial, HDMI et autres composants interfaces (pas de vidéoconférence);
  • imprimantes, copieurs, scanners, appareils photo numériques, caméras Internet - y compris pièces et sous-ensembles
  • utilités et appareils ménagers

Applications métiers/systèmes: exploitation, intégration et contrôle des systèmes. Quelques exemples

  • automatisation des processus métiers (BPA) - planification et ordonnancement des processus, gestion de la chaîne logistique, inventaire et livraison

  • transport - sécurité et maintenance, surveillance des systèmes et contrôleurs embarqués (y compris systèmes de l’aviation, du ferroviaire et des véhicules utilitaires), technologies des "autoroutes intelligentes", opérations de transport en commun et collecte des tarifs, etc.

  • systèmes industriels, de fabrication ou mécaniques - y compris la robotique, la sécurité des installations, les services publics, les équipements d'usine et autres équipements lourds, les contrôleurs d'installations tels que les alarmes incendie et les systèmes CVC

  • médical/clinique - y compris les applications de diagnostic, la planification des patients et la confidentialité des enregistrements de données médicales

  • géosciences appliquées - extraction minière/forage, échantillonnage atmosphérique/surveillance météorologique, cartographie/levé, barrages/hydrologie

Recherche/scientifique/analytique. Quelques exemples:

  • business Process Management (BPM) - Abstraction et modélisation de processus métier

  • visualisation scientifique/simulation/co-simulation (à l'exclusion de ces outils pour l'informatique, la mise en réseau, la cryptanalyse, etc.)

  • outils de synthèse de données pour les sciences sociales, économiques et politiques (p. ex. économie, population, changement climatique mondial, sondage d'opinion, prévision et modélisation)

Livraison et installation sécurisées de la propriété intellectuelle. Quelques exemples

  • téléchargement automatique de logiciels, programmes d'installation et de mise à jour

  • clé de licence protection du produit et validation d'achat similaire

  • protection IP de la conception logicielle et matérielle

  • logiciel de conception assistée par ordinateur (CAO) et autres outils de dessin

Remarque: ces réglementations s'appliquent également au test de votre application avec TestFlight.

11
productioncoder

Apple a changé les règles à ce sujet. J'ai lu tous les documents Apple et le plus grand nombre de règlements d'exportation américains possible.

Mon point de vue à ce sujet était que, jusqu'à récemment, utiliser le protocole HTTPS pour la plupart des applications signifiait que Apple aurait besoin du certificat d'exportation. Certaines applications telles que les opérations bancaires seraient acceptables, mais pour de nombreuses applications, elles ne rentrent pas dans la catégorie des exemptions, qui est très très large.

Cependant, Apple a désormais introduit un getout dans la catégorie exemptée pour les applications JUST utilisant https. Je ne sais pas quand ils ont fait cela, mais je pense que c'était en décembre 2016 ou en janvier 2017. Nous soumettons maintenant nos applications sans le certificat du gouvernement des États-Unis.

4
Rob Willett

La même erreur résolue comme ça

enter image description here

    using UnityEngine;
    using System.Collections;
    using UnityEditor.Callbacks;
    using UnityEditor;
    using System;
    using UnityEditor.iOS.Xcode;
    using System.IO;

public class AutoIncrement : MonoBehaviour {

    [PostProcessBuild]
    public static void ChangeXcodePlist(BuildTarget buildTarget, string pathToBuiltProject)
    {

        if (buildTarget == BuildTarget.iOS)
        {

            // Get plist
            string plistPath = pathToBuiltProject + "/Info.plist";
            var plist = new PlistDocument();
            plist.ReadFromString(File.ReadAllText(plistPath));

            // Get root
            var rootDict = plist.root;

            // Change value of NSCameraUsageDescription in Xcode plist
            var buildKey = "NSCameraUsageDescription";
            rootDict.SetString(buildKey, "Taking screenshots");

            var buildKey2 = "ITSAppUsesNonExemptEncryption";
            rootDict.SetString(buildKey2, "false");


            // Write to file
            File.WriteAllText(plistPath, plist.WriteToString());
        }
    }
    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void Update () {

    }

    [PostProcessBuild]
    public static void OnPostprocessBuild(BuildTarget target, string pathToBuiltProject)
    {
        //A new build has happened so lets increase our version number
        BumpBundleVersion();
    }


    // Bump version number in PlayerSettings.bundleVersion
    private static void BumpBundleVersion()
    {
        float versionFloat;

        if (float.TryParse(PlayerSettings.bundleVersion, out versionFloat))
        {
            versionFloat += 0.01f;
            PlayerSettings.bundleVersion = versionFloat.ToString();
        }
    }
    [MenuItem("Leman/Build iOS Development", false, 10)]
    public static void CustomBuild()
    {
        BumpBundleVersion();
        var levels= new String[] { "Assets\\ShootTheBall\\Scenes\\MainScene.unity" };
        BuildPipeline.BuildPlayer(levels, 
            "iOS", BuildTarget.iOS, BuildOptions.Development);
    }

}
4
Rıfat Erdem Sahin