ITSAppUsesNonExemptEncryption ส่งออกการปฏิบัติตามข้อกำหนดขณะทดสอบภายใน?


215

ฉันได้รับข้อความนี้ขณะที่เลือกสร้างสำหรับการทดสอบภายในฉันบอกว่าเกี่ยวกับการตั้งค่าITSAppUsesNonExemptEncryptionใน info.plist มันหมายถึงอะไร? จำเป็นหรือไม่

ป้อนคำอธิบายรูปภาพที่นี่


3
มีการถามอย่างแท้จริงว่าคุณกำลังใช้การเข้ารหัสหรือไม่ / แอปของคุณถูกออกแบบมาเพื่อเก็บข้อมูลที่ปลอดภัยแบบเข้ารหัสหรือไม่
Andriko13

1
ตั้งแต่วันที่ 20 กันยายน 2016 ไม่จำเป็นต้องใช้สิ่งนี้อีกต่อไป ดูคำตอบของฉันที่นี่: stackoverflow.com/a/40391664/776167 - คุณสามารถพูดได้ว่าคุณได้รับการยกเว้น
hisnameisjimmy

คำตอบ:


217

โดยทั่วไป<key>ITSAppUsesNonExemptEncryption</key><false/>หมายถึงค่าบูลีนเท่ากับ NO

ค่า info.plist

อัปเดตโดย @JosepH: ค่านี้หมายความว่าแอปไม่ใช้การเข้ารหัสหรือการเข้ารหัสที่ยกเว้นเท่านั้น หากแอปของคุณใช้การเข้ารหัสและไม่ได้รับการยกเว้นคุณต้องตั้งค่านี้เป็น YES / true

ดูเหมือนว่าเป็นที่ถกเถียงกันบางครั้งเมื่อแอปพิจารณาว่าใช้การเข้ารหัส


1
ขอบคุณ - นี่คือสิ่งที่ฉันถูกมองหา (วิธีการเพิ่มคีย์นี้ลงในแฟ้ม plist กราฟิก)
Natalia

2
การตั้งค่า 'ITSAppUsesNonExemptEncryption' เป็น false / NO ไม่ได้หมายความว่าการเข้ารหัสในแอปของคุณจะไม่เปลี่ยนแปลง หมายความว่าแอปไม่ใช้การเข้ารหัสหรือการเข้ารหัสที่ยกเว้นเท่านั้น หากแอปของคุณใช้การเข้ารหัสและไม่ได้รับการยกเว้นคุณต้องตั้งค่านี้เป็น YES / true แอพจำนวนน้อยมากสามารถตั้งค่าเป็น NO; ตัวอย่างเช่นหากส่วนใดส่วนหนึ่งของแอปของคุณใช้ https คุณต้องบอกว่าใช่แน่นอน ดูstackoverflow.com/questions/2135081/…
JosephH

1
@JosephH เอาล่ะขอบคุณมากสำหรับข้อมูลเชิงลึกจริง ๆ แล้วข้อมูลของคุณดูเหมือนจะถูกต้อง
Elijah Saounkine

23
โดยปกติคุณไม่จำเป็นต้องตั้งค่านี้เป็น YES หากคุณใช้ https ดูหมายเหตุ 4 จากหมวด 5 ส่วน 2 ส่วนใหญ่หากวัตถุประสงค์หลักของแอปไม่ได้เข้ารหัสคุณสามารถตั้งค่าเป็น NO มีข้อสังเกตบางประการที่นี่เช่นว่าคุณยินดีที่จะให้ข้อมูลตามคำขอจาก "ผู้มีอำนาจที่เหมาะสม" หรือไม่ดังนั้นโปรดอ่านอย่างละเอียด
Ben Kane

1
มีการใช้การเข้ารหัส HTTPS ในระดับระบบปฏิบัติการ แอปพลิเคชันไม่ได้ไปสู่ปัญหาของการเข้ารหัสข้อมูลจริง ในความเข้าใจของฉันคำแนะนำของ Ben Kane นั้นถูกต้อง
Elijah Saounkine

61

ตามการกระจาย WWDC2015 มีอะไรใหม่

ป้อนคำอธิบายรูปภาพที่นี่

การตั้งค่า "ITSAppUsesNonExemptEncryption" เป็น "NO" ใน info.plist ทำงานได้ดี หากไม่มีเนื้อหาการเข้ารหัสลับในแอปของคุณ

ป้อนคำอธิบายรูปภาพที่นี่

ฉันได้รับป๊อปอัปนี้ระหว่างการเลือกสร้างสำหรับการทดสอบภายในฉันไม่ได้รวมคีย์ "ITSAppUsesNonExemptEncryption" ใน info.plist ของฉัน แต่ยังใช้งานได้สำหรับฉัน

แม้ฉันอัปโหลดแอปพลิเคชันใหม่เรียบร้อยแล้วก็ไม่ได้รวมคีย์ "ITSEncryptionExportComplianceCode" และ "ITSAppUsesNonExemptEncryption"

นอกจากนี้Apple Doc

สำคัญ: หากแอปของคุณต้องการให้คุณจัดเตรียมเอกสารเพิ่มเติมสำหรับการตรวจสอบการเข้ารหัสแอปของคุณจะไม่มีสถานะพร้อมขายในร้านจนกว่าการปฏิบัติตามกฎระเบียบด้านการส่งออกได้ตรวจสอบและอนุมัติเอกสารของคุณแล้ว ไม่สามารถแจกจ่ายแอปพลิเคชันสำหรับการทดสอบก่อนวางจำหน่ายก่อนที่จะปฏิบัติตามกฎการส่งออกได้ตรวจสอบและอนุมัติ

หากแอปของคุณไม่ได้ใช้การเข้ารหัสและคุณไม่ต้องการที่จะตอบคำถามเหล่านี้ในเวลาที่ส่งคุณสามารถให้ข้อมูลการปฏิบัติตามกฎการส่งออกกับงานสร้างของคุณ คุณยังสามารถให้เอกสารใหม่หรือที่อัปเดตผ่าน iTunes Connect เพื่อรับค่าสตริงคีย์ที่เหมาะสมเพื่อรวมไว้ในบิลด์ของคุณก่อนที่จะอัปโหลดไปยัง iTunes Connect

วิธีเพิ่มเอกสารเกี่ยวกับความสอดคล้องในการส่งออกใน iTunes Connect:

ไปที่ส่วนการเข้ารหัสใต้คุณสมบัติ คลิกที่เครื่องหมายบวกถัดจากส่วนแพลตฟอร์มที่เหมาะสม ตอบคำถามอย่างเหมาะสม แนบไฟล์เมื่อได้รับแจ้ง คลิกบันทึก จากนั้นเอกสารของคุณจะถูกส่งไปตรวจสอบทันทีและสถานะของเอกสารของคุณจะแสดงในการตรวจสอบการปฏิบัติตามกฎระเบียบ ค่าคีย์จะถูกสร้างขึ้นโดยอัตโนมัติซึ่งคุณสามารถรวมไว้ในไฟล์ Info.plist ของคุณ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการรวมค่าคีย์กับงานสร้างของคุณให้ดูที่ส่วนทรัพยากรและวิธีใช้การปฏิบัติตามข้อกำหนดทางการค้า

คุณสามารถอัปโหลดบิลด์โดยไม่ใช้คีย์การปฏิบัติตามข้อกำหนดการส่งออก หากคุณรวมคีย์มันสามารถระบุว่าคุณไม่จำเป็นต้องใช้เอกสารประกอบการปฏิบัติตามข้อกำหนดการส่งออก สิ่งนี้ไม่ต้องการการอนุมัติ หากคุณมีคีย์ที่อ้างอิงเอกสารความสอดคล้องในการส่งออกเฉพาะเอกสารนั้นจะต้องได้รับการอนุมัติ ไม่สามารถอยู่ระหว่างการตรวจสอบหรือถูกปฏิเสธ

ป้อนคำอธิบายรูปภาพที่นี่

คุณสามารถตรวจสอบคำตอบได้ตลอดเวลาโดยคลิกที่ชื่อไฟล์เอกสารและเลือกข้อมูลเพิ่มเติม หากคุณต้องการอัปเดตเอกสารของคุณหรือเปลี่ยนคำตอบสำหรับคำถามใด ๆ คุณจะต้องทำซ้ำขั้นตอนข้างต้นเพื่อเพิ่มเอกสารใหม่ที่สอดคล้องกับการเปลี่ยนแปลงของคุณ


สำหรับข้อมูลเพิ่มเติม stackoverflow.com/questions/2135081/…
Avijit Nagare

51

เพิ่มคีย์นี้ในไฟล์ plist ... ทุกอย่างจะไม่เป็นไร ..

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

เพิ่งวางก่อน </dict></plist>


25

Apple ทำให้กระบวนการสร้างของเราง่ายขึ้นดังนั้นคุณไม่จำเป็นต้องคลิกที่ช่องทำเครื่องหมายเดียวกันทุกครั้ง คุณสามารถปรับปรุงการไหล iTC ของคุณโดยการรวบรวมการตั้งค่าสถานะนี้ใน

ยังคงเป็นกรณีของปี 2019


17

ในการเลือกจากดรอปดาวน์กรุณาเริ่มพิมพ์บรรทัดต่อไปนี้:

แอพใช้การเข้ารหัสที่ไม่ใช่ข้อยกเว้น


12

โดยทั่วไปมี 2 สิ่งที่ควรคำนึงถึง คุณได้รับอนุญาตเท่านั้นที่จะตั้งค่าให้ NO ถ้าคุณอย่างใดอย่างหนึ่งไม่ได้ใช้การเข้ารหัสที่ทุกคน , หรือคุณเป็นส่วนหนึ่งของกฎระเบียบที่ได้รับการยกเว้น สิ่งนี้ใช้กับแอปพลิเคชันประเภทต่อไปนี้:

ที่มา: หอการค้า : https://www.bis.doc.gov/index.php/policy-guidance/encrypt/encrypt-faqs#15

แอพพลิเคชั่นสำหรับผู้บริโภค

  • การป้องกันการละเมิดลิขสิทธิ์และซอฟต์แวร์หรือเพลง;
  • เพลงภาพยนตร์เพลง / เพลงภาพถ่ายดิจิทัล - ผู้เล่นเครื่องบันทึกและผู้จัด
  • เกม / เกม - อุปกรณ์ซอฟต์แวร์รันไทม์ HDMI และอินเทอร์เฟซส่วนประกอบอื่น ๆ เครื่องมือในการพัฒนา
  • แอลซีดีทีวี, Blu-ray / DVD, วิดีโอตามต้องการ (VoD), โรงภาพยนตร์, เครื่องบันทึกวิดีโอดิจิตอล (DVRs) / เครื่องบันทึกวิดีโอส่วนตัว (PVR) - อุปกรณ์, คู่มือแนะนำสื่อออนไลน์, ความสมบูรณ์ของเนื้อหาเชิงพาณิชย์และการป้องกัน, HDMI และส่วนประกอบอื่น ๆ อินเตอร์เฟส (ไม่ใช่การประชุมผ่านวิดีโอ);
  • เครื่องพิมพ์, เครื่องถ่ายเอกสาร, สแกนเนอร์, กล้องดิจิตอล, กล้องอินเทอร์เน็ต - รวมถึงชิ้นส่วนและส่วนประกอบย่อย
  • สาธารณูปโภคและเครื่องใช้ในครัวเรือน

แอปพลิเคชันธุรกิจ / ระบบ: การทำงานของระบบการรวมและการควบคุม ตัวอย่างบางส่วน

  • กระบวนการทางธุรกิจอัตโนมัติ (BPA) - การวางแผนและกำหนดเวลาการจัดการห่วงโซ่อุปทาน, สินค้าคงคลังและการส่งมอบ

  • การขนส่ง - ความปลอดภัยและการบำรุงรักษาการตรวจสอบระบบและตัวควบคุมออนบอร์ด (รวมถึงการบินรถไฟและระบบยานยนต์เชิงพาณิชย์) เทคโนโลยี 'ทางหลวงอัจฉริยะ' การดำเนินการขนส่งสาธารณะและการเก็บค่าโดยสารเป็นต้น

  • อุตสาหกรรม, การผลิตหรือระบบกลไก - รวมถึงหุ่นยนต์, ความปลอดภัยของโรงงาน, สาธารณูปโภค, โรงงานและเครื่องจักรกลหนักอื่น ๆ , ตัวควบคุมระบบสิ่งอำนวยความสะดวกเช่นสัญญาณเตือนไฟไหม้และ HVAC

  • การแพทย์ / คลินิก - รวมถึงแอพพลิเคชั่นการวินิจฉัยการกำหนดเวลาผู้ป่วยและการบันทึกข้อมูลทางการแพทย์เป็นความลับ

  • วิทยาศาสตร์ธรณีประยุกต์ - การขุด / การขุดเจาะ, การสุ่มตัวอย่างในบรรยากาศ / การตรวจสอบสภาพอากาศ, การทำแผนที่ / การสำรวจ, เขื่อน / อุทกวิทยา

วิจัย / วิทยาศาสตร์ / วิเคราะห์ ตัวอย่างบางส่วน:

  • การจัดการกระบวนการทางธุรกิจ (BPM) - นามธรรมกระบวนการทางธุรกิจและการสร้างแบบจำลอง

  • การสร้างภาพทางวิทยาศาสตร์ / การจำลอง / การจำลองร่วม (ไม่รวมเครื่องมือดังกล่าวสำหรับการคำนวณ, เครือข่าย, การเข้ารหัส ฯลฯ )

  • เครื่องมือการสังเคราะห์ข้อมูลสำหรับวิทยาศาสตร์สังคมเศรษฐกิจและการเมือง (เช่นเศรษฐกิจประชากรการเปลี่ยนแปลงสภาพภูมิอากาศโลกการสำรวจความคิดเห็นของสาธารณชน ฯลฯ การพยากรณ์และการสร้างแบบจำลอง)

ส่งมอบและติดตั้งทรัพย์สินทางปัญญาอย่างปลอดภัย ตัวอย่างบางส่วน

  • ซอฟต์แวร์ดาวน์โหลดตัวติดตั้งอัตโนมัติและตัวอัปเดต

  • การป้องกันคีย์ผลิตภัณฑ์ของไลเซนส์และการตรวจสอบการซื้อที่คล้ายกัน

  • การออกแบบซอฟต์แวร์และฮาร์ดแวร์การป้องกัน IP

  • ซอฟต์แวร์คอมพิวเตอร์ช่วยออกแบบ (CAD) และเครื่องมือร่างอื่น ๆ

หมายเหตุ: กฎเหล่านี้เป็นจริงสำหรับการทดสอบแอปของคุณโดยใช้ TestFlight


4

ข้อผิดพลาดเดียวกันแก้ไขเช่นนี้

ป้อนคำอธิบายรูปภาพที่นี่

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

}

เพิ่มสายรหัสที่เกี่ยวข้องเพื่อให้ dev สามารถใช้เพื่อเพิ่มคีย์ที่จำเป็น
Rifat Erdem ริซาฮิน

เข้าใจแล้วลบความคิดเห็นของฉัน ขอบคุณ
Bhargav Rao

4

Apple ได้เปลี่ยนแปลงกฎนี้ ฉันอ่านเอกสาร Apple ทั้งหมดและบันทึกการส่งออกของสหรัฐฯให้มากที่สุดเท่าที่จะหาได้

มุมมองของฉันเกี่ยวกับเรื่องนี้เป็นเมื่อเร็ว ๆ นี้แม้จะใช้ HTTPS สำหรับแอปส่วนใหญ่หมายความว่า Apple จะต้องใช้ใบรับรองการส่งออก แอพบางตัวเช่นธนาคารจะโอเค แต่สำหรับหลาย ๆ แอพพวกเขาไม่ได้อยู่ในหมวดหมู่ excempt ซึ่งกว้างมาก

อย่างไรก็ตามขณะนี้ Apple ได้เปิดตัวผลิตภัณฑ์ที่ได้รับการยกเว้นภายใต้หมวดหมู่ที่ได้รับการยกเว้นสำหรับแอปที่ใช้เพียง https ฉันไม่รู้ว่าเมื่อพวกเขาทำสิ่งนี้ แต่ฉันคิดว่ามันเป็นธันวาคม 2016 หรือมกราคม 2017 ตอนนี้เรากำลังส่งแอพของเราโดยไม่มีใบรับรองจากรัฐบาลสหรัฐฯ


1
เชื่อมโยงไปยังเอกสาร "ออกไป"? ฉันไม่สามารถตรวจสอบได้ว่า HTTPS ใช้ได้หรือไม่
gbhall

@gbhall ไม่จำเป็นสำหรับ HTTPS คุณสามารถลองใช้และคุณจะไม่ต้องผ่านแบบฟอร์มใบสมัครอีกต่อไปจากไซต์ GOV (จำชื่อไม่ได้)

@Seak ตกลงชายไชโย หวังว่าจะยังคงเป็นจริงในอนาคต
gbhall

@ แอบชายไชโย ตัวอย่างล่าสุดนี้แสดงให้เห็นว่าคุณต้องส่งรายงานรายปี: stackoverflow.com/a/44396900/333733
gbhall

1
@ แอบดูบางสิ่งเพื่อดูเพิ่มเติม ขอบคุณสำหรับลิงค์ เพียงแค่ HTTPS ในขณะนี้
gbhall
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.