आंतरिक परीक्षण के दौरान ITSAppUsesNonExemptEnc एन्क्रिप्शन निर्यात अनुपालन?


215

आंतरिक परीक्षण के लिए बिल्ड का चयन करते समय मुझे यह संदेश मिला। यह ITSAppUsesNonExemptEnc एन्क्रिप्शन को info.plist में सेट करने के बारे में कहता है। इसका क्या मतलब है? क्या ये ज़रूरी हैं?

यहां छवि विवरण दर्ज करें


3
यह शाब्दिक रूप से पूछ रहा है कि क्या आप किसी क्रिप्टोग्राफी का उपयोग कर रहे हैं / यदि आपका ऐप क्रिप्टोग्राफिक रूप से सुरक्षित जानकारी संग्रहीत करने के लिए डिज़ाइन किया गया है।
एंड्रीको 13

1
20 सितंबर, 2016 तक, अब इसकी आवश्यकता नहीं है। मेरा जवाब यहां देखें: stackoverflow.com/a/40391664/776167 - आप कह सकते हैं कि आप छूट रहे हैं।
23

जवाबों:


217

मूल रूप <key>ITSAppUsesNonExemptEncryption</key><false/>से एक बूलियन मूल्य के बराबर है।

info.plist मान

@JosepH द्वारा अपडेट: इस मान का अर्थ है कि ऐप कोई एन्क्रिप्शन या केवल छूट वाले एन्क्रिप्शन का उपयोग करता है। यदि आपका ऐप एन्क्रिप्शन का उपयोग करता है और छूट नहीं देता है, तो आपको यह मान YES / true पर सेट करना होगा।

यह कभी-कभी विवादित लगता है जब किसी ऐप को एन्क्रिप्शन का उपयोग करने के लिए माना जाता है।


1
धन्यवाद - यह वही था जो मैं देख रहा था (इस कुंजी को ग्राफिकल फ़ाइल में कैसे जोड़ा जाए)
Natalia

2
'ITSAppUsesNonExemptEnc एन्क्रिप्शन' को झूठी / NO पर सेट करने का अर्थ यह नहीं है कि आपके ऐप में एन्क्रिप्शन परिवर्तित नहीं हुआ है। इसका मतलब है कि ऐप किसी एन्क्रिप्शन का उपयोग नहीं करता है, या केवल छूट वाले एन्क्रिप्शन का उपयोग करता है। यदि आपका ऐप एन्क्रिप्शन का उपयोग करता है और छूट नहीं देता है, तो आपको यह मान YES / true पर सेट करना होगा। कुछ ऐप इसे NO पर सेट कर सकते हैं; उदाहरण के लिए यदि आपके ऐप का कोई हिस्सा https का उपयोग करता है तो आपको निश्चित रूप से हां कहने की आवश्यकता है। देखें stackoverflow.com/questions/2135081/...
JosephH

1
@ जोसेफ ठीक है, अंतर्दृष्टि के लिए बहुत बहुत धन्यवाद, वास्तव में आपकी जानकारी सही प्रतीत होती है
एलिजा सौनकीन

23
यदि आप https का उपयोग कर रहे हैं तो आपको आमतौर पर इसे YES पर सेट करने की आवश्यकता नहीं है। नोट 5 को श्रेणी 5 भाग 2 से देखें । अधिकांश भाग के लिए, यदि ऐप का मुख्य उद्देश्य एन्क्रिप्शन नहीं है, तो आप मान को NO पर सेट कर सकते हैं। यहां कुछ चेतावनी दी गई हैं, जैसे कि आप "उपयुक्त प्राधिकारी" से अनुरोध पर जानकारी देने के लिए तैयार हैं या नहीं, इसलिए ध्यान से पढ़ें।
बेन केन

1
HTTPS एन्क्रिप्शन ओएस स्तर पर लागू किया जाता है; आवेदन वास्तव में डेटा को नष्ट करने की मुसीबत में नहीं जाता है। मेरी समझ में, बेन केन का सुझाव सही है।
एलिजा सौनकिन

61

WWDC2015 के अनुसार वितरण व्हाट्स न्यू

यहां छवि विवरण दर्ज करें

Info.plist में "ITSAppUsesNonExemptEnc एन्क्रिप्शन" को "NO" पर सेट करना ठीक काम करता है। यदि आपके ऐप में कोई क्रिप्टोग्राफ़िक सामग्री नहीं है।

यहां छवि विवरण दर्ज करें

मुझे यह पॉप अप मिला था आंतरिक परीक्षण के लिए निर्माण का चयन करने के दौरान मैंने अपनी जानकारी में "ITSAppUsesNonExemptEnc एन्क्रिप्शन" कुंजी को शामिल नहीं किया था। लेकिन फिर भी मेरे लिए काम किया।

यहां तक ​​कि मैंने सफलतापूर्वक नया एप्लिकेशन अपलोड किया जिसमें "ITSEnc एन्क्रिप्शनExportComplianceCode" और "ITSAppUsesNonExemptEnc एन्क्रिप्शन" कुंजियाँ शामिल नहीं थीं।

इसके अलावा Apple डॉक्टर।

महत्वपूर्ण: यदि आपके ऐप को एन्क्रिप्शन की समीक्षा के लिए अतिरिक्त दस्तावेज़ प्रदान करने की आवश्यकता है, तो आपके ऐप के पास स्टोर पर बिक्री की स्थिति के लिए तैयार नहीं होगा जब तक कि निर्यात अनुपालन की समीक्षा नहीं की जाती है और आपके दस्तावेजों को मंजूरी नहीं दी जाती है। निर्यात अनुपालन की समीक्षा करने और उसे अनुमोदित करने तक ऐप को प्रीलेयर परीक्षण के लिए वितरित नहीं किया जा सकता है।

यदि आपका ऐप एन्क्रिप्शन का उपयोग नहीं कर रहा है और आप सबमिट करने के समय इन सवालों का जवाब नहीं देना चाहते हैं, तो आप अपने निर्माण के साथ निर्यात अनुपालन जानकारी प्रदान कर सकते हैं। आप iTunes कनेक्ट के माध्यम से इसे अपलोड करने से पहले अपने बिल्ड के साथ शामिल करने के लिए उचित कुंजी स्ट्रिंग मान प्राप्त करने के लिए iTunes Connect के माध्यम से नए या अपडेट किए गए दस्तावेज़ प्रदान कर सकते हैं।

ITunes कनेक्ट में निर्यात अनुपालन प्रलेखन जोड़ने के लिए:

सुविधाओं के तहत एन्क्रिप्शन अनुभाग पर जाएं। उपयुक्त प्लेटफ़ॉर्म अनुभाग के बगल में प्लस चिह्न पर क्लिक करें। प्रश्नों का उचित उत्तर दें। संकेत दिए जाने पर फ़ाइल संलग्न करें। सहेजें पर क्लिक करें। तब आपके दस्तावेज़ तुरंत समीक्षा के लिए भेजे जाएंगे और आपके दस्तावेज़ की स्थिति अनुपालन समीक्षा में दिखाई देगी। एक मुख्य मूल्य भी स्वचालित रूप से उत्पन्न होगा जिसे आप अपनी Info.plist फ़ाइल में शामिल कर सकते हैं। अपने निर्माण के साथ मुख्य मूल्य सहित अधिक जानकारी के लिए, संसाधन और सहायता अनुभाग व्यापार अनुपालन देखें।

आप निर्यात अनुपालन कुंजी के बिना बिल्ड अपलोड कर सकते हैं। यदि आप एक कुंजी शामिल करते हैं, तो यह इंगित कर सकता है कि आपको निर्यात अनुपालन प्रलेखन की आवश्यकता नहीं है; इसके लिए किसी स्वीकृति की आवश्यकता नहीं है। यदि आप एक कुंजी शामिल करते हैं जो एक विशिष्ट निर्यात अनुपालन दस्तावेज़ का संदर्भ देता है, तो उस दस्तावेज़ को अनुमोदित होना चाहिए; यह इन रिव्यू या रिजेक्टेड नहीं हो सकता।

यहां छवि विवरण दर्ज करें

आप दस्तावेज़ फ़ाइल नाम पर क्लिक करके और अधिक जानकारी का चयन करके किसी भी समय अपने उत्तरों की समीक्षा कर सकते हैं। यदि आपको अपने दस्तावेज़ों को अपडेट करने या प्रश्नों के किसी भी उत्तर को बदलने की आवश्यकता है, तो आपको एक नया दस्तावेज़ जोड़ने के लिए ऊपर दिए गए चरणों को दोहराना होगा जो आपके परिवर्तनों से मेल खाता है।


अधिक जानकारी के लिए। stackoverflow.com/questions/2135081/…
अविजित नागरे

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/enc एन्क्रिप्शन / enc एन्क्रिप्शन- faqs#15

उपभोक्ता के आवेदन

  • सॉफ्टवेयर या संगीत के लिए चोरी और चोरी की रोकथाम;
  • संगीत, फिल्में, धुन / संगीत, डिजिटल फोटो - खिलाड़ी, रिकॉर्डर और आयोजक
  • खेल / गेमिंग - डिवाइस, रनटाइम सॉफ्टवेयर, एचडीएमआई और अन्य घटक इंटरफेस, विकास उपकरण
  • एलसीडी टीवी, ब्लू-रे / डीवीडी, वीडियो ऑन डिमांड (वीओडी), सिनेमा, डिजिटल वीडियो रिकॉर्डर (डीवीआर) / व्यक्तिगत वीडियो रिकॉर्डर (पीवीआर) - उपकरण, ऑन-लाइन मीडिया गाइड, वाणिज्यिक सामग्री अखंडता और सुरक्षा, एचडीएमआई और अन्य घटक इंटरफेस (वीडियोकांफ्रेंसिंग नहीं);
  • प्रिंटर, कॉपियर, स्कैनर, डिजिटल कैमरा, इंटरनेट कैमरा - भागों और उप-विधानसभाओं सहित
  • घरेलू उपयोगिताओं और उपकरणों

व्यापार / सिस्टम अनुप्रयोग: सिस्टम संचालन, एकीकरण और नियंत्रण। कुछ उदाहरण

  • बिजनेस प्रोसेस ऑटोमेशन (BPA) - प्रोसेस प्लानिंग और शेड्यूलिंग, सप्लाई चेन मैनेजमेंट, इन्वेंट्री और डिलीवरी

  • परिवहन - सुरक्षा और रखरखाव, सिस्टम की निगरानी और ऑन-बोर्ड नियंत्रकों (विमानन, रेलवे और वाणिज्यिक ऑटोमोटिव सिस्टम सहित), 'स्मार्ट हाइवे' प्रौद्योगिकियों, सार्वजनिक पारगमन संचालन और किराया संग्रह, आदि।

  • औद्योगिक, विनिर्माण या मैकेनिकल सिस्टम - जिसमें रोबोटिक्स, प्लांट सेफ्टी, यूटिलिटीज, फैक्ट्री और अन्य भारी उपकरण, सुविधाएं सिस्टम कंट्रोलर जैसे फायर अलार्म और HVAC शामिल हैं।

  • चिकित्सा / नैदानिक ​​- नैदानिक ​​अनुप्रयोगों, रोगी समयबद्धन और चिकित्सा डेटा रिकॉर्ड गोपनीयता सहित

  • लागू भू-विज्ञान - खनन / ड्रिलिंग, वायुमंडलीय नमूना / मौसम निगरानी, ​​मानचित्रण / सर्वेक्षण, बांध / जल विज्ञान

अनुसंधान / वैज्ञानिक / विश्लेषणात्मक। कुछ उदाहरण:

  • व्यापार प्रक्रिया प्रबंधन (BPM) - व्यवसाय प्रक्रिया अमूर्त और मॉडलिंग

  • वैज्ञानिक विज़ुअलाइज़ेशन / सिमुलेशन / सह-सिमुलेशन (कंप्यूटिंग, नेटवर्किंग, क्रिप्टोनालिसिस, आदि के लिए ऐसे उपकरणों को छोड़कर)

  • सामाजिक, आर्थिक और राजनीतिक विज्ञान (उदाहरण के लिए, आर्थिक, जनसंख्या, वैश्विक जलवायु परिवर्तन, जनमत सर्वेक्षण, पूर्वानुमान और मॉडलिंग) के लिए डेटा संश्लेषण उपकरण।

सुरक्षित बौद्धिक संपदा वितरण और स्थापना। कुछ उदाहरण

  • सॉफ्टवेयर डाउनलोड ऑटो installers और updaters

  • लाइसेंस कुंजी उत्पाद संरक्षण और समान खरीद सत्यापन

  • सॉफ्टवेयर और हार्डवेयर डिजाइन आईपी सुरक्षा

  • कंप्यूटर एडेड डिजाइन (सीएडी) सॉफ्टवेयर और अन्य प्रारूपण उपकरण

नोट: ये नियम आपके ऐप का उपयोग करके परीक्षण करने के लिए भी सही हैं 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);
    }

}

एक संबंधित कोड लाइन जोड़ा ताकि देव आवश्यक कुंजियों को जोड़ने के लिए उपयोग कर सकें
Rıfat Erdem Sahin

समझ गया, मेरी टिप्पणी हटा दी। धन्यवाद
भार्गव राव

4

Apple ने इस पर नियमों में बदलाव किया है। मैं सभी Apple डॉक्स के माध्यम से पढ़ता हूं और जितना मैं पा सकता हूं, उतने अमेरिकी निर्यात regs हैं।

इस पर मेरा विचार तब तक था जब हाल ही में अधिकांश ऐप के लिए HTTPS का उपयोग करने का मतलब था कि Apple को निर्यात प्रमाणपत्र की आवश्यकता होगी। बैंकिंग जैसे कुछ ऐप ठीक होंगे लेकिन कई ऐप के लिए वे एक्सेप्ट श्रेणी में नहीं आते हैं जो कि बहुत व्यापक है।

हालाँकि Apple ने अब उन ऐप्स के लिए छूट श्रेणी के तहत एक गेटआउट पेश किया है जो JUST का उपयोग करते हैं। मुझे नहीं पता कि उन्होंने ऐसा कब किया था, लेकिन मुझे लगता है कि यह दिसंबर 2016 या जनवरी 2017 था। अब हम यूएस सरकार से प्रमाणपत्र के बिना अपने एप्लिकेशन सबमिट कर रहे हैं।


1
"बाहर निकलना" प्रलेखन के लिए लिंक? मैं यह निर्धारित नहीं कर सकता कि HTTPS ठीक है या नहीं।
gbhall

@gbhall HTTPS के लिए आवश्यक नहीं है। आप आवेदन करने की कोशिश कर सकते हैं और आप आवेदन फार्म के माध्यम से भी प्राप्त नहीं कर सकते हैं GOV साइटों से। (नाम याद नहीं है)

@ चुपके ठीक चीयर्स मैन। उम्मीद है कि भविष्य में यह सच है।
gbhall

@ चुपके से आदमी। यह हालिया उदाहरण आपको इंगित करता है कि आपको वार्षिक रिपोर्ट प्रस्तुत करने की आवश्यकता है: stackoverflow.com/a/44396900/333733
gbhall

1
@ अधिक निश्चित रूप से देखने के लिए कुछ। लिंक के लिए धन्यवाद। फिलहाल HTTPS।
gbhall
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.