ITSAppUsesNonExemptEncryption exporta el cumplimiento durante las pruebas internas?

215

Recibí este mensaje al seleccionar la compilación para pruebas internas. Dice sobre la configuración de ITSAppUsesNonExemptEncryption en info.plist, ¿qué significa? ¿es necesario?

ingrese la descripción de la imagen aquí

Avijit Nagare
fuente
3
Literalmente pregunta si está utilizando alguna criptografía / si su aplicación está diseñada para almacenar información segura criptográficamente.
Andriko13
1
A partir del 20 de septiembre de 2016, esto ya no es necesario. Vea mi respuesta aquí: stackoverflow.com/a/40391664/776167 : puede decir que está exento.
hisnameisjimmy

Respuestas:

217

Básicamente <key>ITSAppUsesNonExemptEncryption</key><false/>representa un valor booleano igual a NO.

valor de info.plist

Actualización de @JosepH: este valor significa que la aplicación no utiliza cifrado, o solo cifrado exento. Si su aplicación utiliza cifrado y no está exenta, debe establecer este valor en SÍ / verdadero

A veces parece discutible cuando se considera que una aplicación usa cifrado.

Elijah Saounkine
fuente
1
gracias - esto era exactamente lo que estaba buscando (cómo agregar esta clave en el archivo gráfico plist)
Natalia
2
Establecer 'ITSAppUsesNonExemptEncryption' en falso / NO NO significa que el cifrado en su aplicación no ha cambiado. Significa que la aplicación no usa encriptación, o solo encriptación exenta. Si su aplicación utiliza cifrado y no está exenta, debe establecer este valor en SÍ / verdadero. Muy pocas aplicaciones pueden establecerlo en NO; por ejemplo, si alguna parte de su aplicación usa https, seguramente tendrá que decir SÍ. Ver stackoverflow.com/questions/2135081/…
JosephH
1
@JosephH bien, muchas gracias por la información, de hecho, su información parece ser correcta
Elijah Saounkine
23
Por lo general, no necesita establecer esto en SÍ si está usando https. Ver Nota 4 de la Categoría 5 parte 2 . En su mayor parte, si el objetivo principal de la aplicación no es el cifrado, puede establecer el valor en NO. Aquí hay algunas advertencias, como si está dispuesto a entregar información a pedido de "la autoridad apropiada", así que lea atentamente.
Ben Kane
1
El cifrado HTTPS se implementa en el nivel del sistema operativo; la aplicación no se mete en la molestia de cifrar realmente los datos. En mi opinión, la sugerencia de Ben Kane es correcta.
Elijah Saounkine
61

Según WWDC2015 Distribución Qué hay de nuevo

ingrese la descripción de la imagen aquí

Establecer "ITSAppUsesNonExemptEncryption" en "NO" en info.plist funciona bien. si no hay contenido criptográfico en su aplicación.

ingrese la descripción de la imagen aquí

Recibí este mensaje emergente Durante la selección de la compilación para pruebas internas, no incluí la clave "ITSAppUsesNonExemptEncryption" en mi info.plist, pero aún así funcionó para mí.

Incluso si cargué correctamente la nueva aplicación no incluía las claves "ITSEncryptionExportComplianceCode" y "ITSAppUsesNonExemptEncryption".

También Apple Doc.

Importante: si su aplicación requiere que proporcione documentos adicionales para la revisión del cifrado, su aplicación no tendrá el estado Listo para la venta en la tienda hasta que Export Compliance haya revisado y aprobado sus documentos. La aplicación no se puede distribuir para pruebas preliminares hasta que Export Compliance haya revisado y aprobado.

Si su aplicación no usa cifrado y no desea tener que responder estas preguntas en el momento del envío, puede proporcionar información de cumplimiento de exportación con su compilación. También puede proporcionar documentación nueva o actualizada a través de iTunes Connect para recibir el valor de cadena de clave apropiado para incluir con su compilación antes de cargarlo en iTunes Connect.

Para agregar documentación de cumplimiento de exportación en iTunes Connect:

Vaya a la sección Cifrado en Características. Haga clic en el signo más al lado de la sección de plataforma correspondiente. Responda las preguntas apropiadamente. Adjunte el archivo cuando se le solicite. Clic en Guardar. Sus documentos serán enviados para su revisión inmediata y el estado de su documento se mostrará en la Revisión de Cumplimiento. También se generará automáticamente un valor clave que puede incluir en su archivo Info.plist. Para obtener más información sobre cómo incluir el valor clave en su compilación, consulte la sección de Recursos y Ayuda Cumplimiento comercial.

Puede cargar una compilación sin una clave de cumplimiento de exportación. Si incluye una clave, puede indicar que no necesita documentación de cumplimiento de exportación; Esto no requiere aprobación. Si incluye una clave que hace referencia a un documento de cumplimiento de exportación específico, ese documento debe ser aprobado; no puede estar en revisión o rechazado.

ingrese la descripción de la imagen aquí

Puede revisar sus respuestas en cualquier momento haciendo clic en el nombre del archivo del documento y seleccionando Más información. Si necesita actualizar su documentación o cambiar alguna de las respuestas a las preguntas, deberá repetir los pasos anteriores para agregar un nuevo documento que corresponda con sus cambios.

Avijit Nagare
fuente
Para más. stackoverflow.com/questions/2135081/…
Avijit Nagare
51

Agregue esta clave en el archivo plist ... Todo estará bien ...

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

Solo pegue antes </dict></plist>

Akshay Phulare
fuente
25

Apple ha simplificado nuestro proceso de construcción, por lo que no necesita hacer clic en la misma casilla de verificación cada vez. Puede optimizar su flujo de iTC compilando este indicador en la aplicación.

Este sigue siendo el caso a partir de 2019.

Pedro Góes
fuente
17

Para seleccionar del menú desplegable, comience a escribir la siguiente línea:

La aplicación utiliza cifrado no exento

mriaz0011
fuente
12

Básicamente hay 2 cosas a tener en cuenta. Sólo se le permite configurarlo para que NO si bien no usa cifrado en absoluto , o si son parte de las regulaciones exentos . Esto se aplica al siguiente tipo de aplicaciones:

Fuente: Cámara de Comercio : https://www.bis.doc.gov/index.php/policy-guidance/encryption/encryption-faqs#15

Aplicaciones de consumo

  • piratería y prevención de robo de software o música;
  • música, películas, melodías / música, fotos digitales: reproductores, grabadores y organizadores
  • juegos / juegos: dispositivos, software de tiempo de ejecución, HDMI y otras interfaces de componentes, herramientas de desarrollo
  • TV LCD, Blu-ray / DVD, video a pedido (VoD), cine, grabadoras de video digital (DVR) / grabadoras de video personales (PVR) - dispositivos, guías de medios en línea, integridad y protección de contenido comercial, HDMI y otros componentes interfaces (no videoconferencia);
  • impresoras, fotocopiadoras, escáneres, cámaras digitales, cámaras de Internet, incluidas piezas y subconjuntos
  • utilidades y electrodomésticos

Aplicaciones de negocios / sistemas: operaciones de sistemas, integración y control. Algunos ejemplos

  • Business Process Automation (BPA): planificación y programación de procesos, gestión de la cadena de suministro, inventario y entrega

  • transporte: seguridad y mantenimiento, monitoreo de sistemas y controladores a bordo (incluidos los sistemas automotrices de aviación, ferroviarios y comerciales), tecnologías de 'autopistas inteligentes', operaciones de transporte público y cobro de tarifas, etc.

  • sistemas industriales, de fabricación o mecánicos, que incluyen robótica, seguridad de plantas, servicios públicos, fábricas y otros equipos pesados, controladores de sistemas de instalaciones como alarmas contra incendios y HVAC

  • médico / clínico, incluidas las aplicaciones de diagnóstico, la programación del paciente y la confidencialidad de los registros de datos médicos

  • geociencias aplicadas: minería / perforación, muestreo atmosférico / monitoreo del clima, mapeo / topografía, represas / hidrología

Investigación / científica / analítica. Algunos ejemplos:

  • gestión de procesos de negocio (BPM): abstracción y modelado de procesos de negocio

  • visualización científica / simulación / co-simulación (excluyendo tales herramientas para computación, redes, criptoanálisis, etc.)

  • herramientas de síntesis de datos para ciencias sociales, económicas y políticas (p. ej., economía, población, cambio climático global, encuestas de opinión pública, etc. predicción y modelado)

Entrega e instalación segura de propiedad intelectual. Algunos ejemplos

  • instaladores automáticos y actualizadores de descarga de software

  • protección de producto de clave de licencia y validación de compra similar

  • diseño de software y hardware protección IP

  • software de diseño asistido por computadora (CAD) y otras herramientas de dibujo

Nota: Estas regulaciones también son ciertas para probar su aplicación usando TestFlight

codificador de producción
fuente
4

El mismo error resuelto así

ingrese la descripción de la imagen aquí

    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);
    }

}
Rıfat Erdem Sahin
fuente
agregó una línea de código relacionada para que dev pueda usarla para agregar las claves necesarias
Rıfat Erdem Sahin el
Lo tengo, eliminé mi comentario. Gracias
Bhargav Rao
4

Apple ha cambiado las reglas sobre esto. Leí todos los documentos de Apple y todos los registros de exportación de EE. UU. Que pude encontrar.

Mi opinión sobre esto era hasta hace poco, incluso el uso de HTTPS para la mayoría de las aplicaciones significaba que Apple requeriría el certificado de exportación. Algunas aplicaciones como la banca estarían bien, pero para muchas aplicaciones no cayeron en la categoría de excedente, que es muy, muy amplia.

Sin embargo, Apple ahora ha introducido una salida en la categoría de exención para aplicaciones que SOLO usan https. No sé cuándo hicieron esto, pero creo que fue en diciembre de 2016 o en enero de 2017. Ahora estamos enviando nuestras aplicaciones sin el certificado del Gobierno de EE. UU.

Rob Willett
fuente
1
Enlace a la documentación de "salir"? No puedo determinar si HTTPS está bien o no.
gbhall
@gbhall No es necesario para HTTPS. Puede intentar aplicar y ya ni siquiera podrá completar el formulario de solicitud desde los sitios de GOV. (no recuerdo el nombre)
@Sneak OK aclama hombre. Esperemos que eso siga siendo cierto en el futuro.
gbhall
@Sneak aclama hombre. Este ejemplo más reciente parece indicar que necesita enviar un informe anual: stackoverflow.com/a/44396900/333733
gbhall
1
@Sneak definitivamente algo para investigar más. Gracias por los enlaces. Solo HTTPS en este momento.
gbhall