ITSAppUsesNonExeemEncoding tuân thủ xuất khẩu trong khi thử nghiệm nội bộ?


215

Tôi đã nhận được thông báo này trong khi chọn bản dựng để thử nghiệm nội bộ. Nó nói về việc thiết lập ITSAppUsesNonExeemEncrypt trong info.plist có nghĩa là gì? có cần thiết không

nhập mô tả hình ảnh ở đây


3
Đó là nghĩa đen hỏi xem bạn có đang sử dụng bất kỳ mật mã nào không / nếu ứng dụng của bạn được thiết kế để lưu trữ thông tin bảo mật bằng mật mã.
Andriko13

1
Kể từ ngày 20 tháng 9 năm 2016, điều này không còn cần thiết nữa. Xem câu trả lời của tôi ở đây: stackoverflow.com/a/40391664/776167 - Bạn có thể nói rằng bạn được miễn.
hernameisjimmy 2/11/2016

Câu trả lời:


217

Về cơ bản <key>ITSAppUsesNonExemptEncryption</key><false/>là viết tắt của giá trị Boolean bằng NO.

giá trị thông tin

Cập nhật bởi @JosepH: Giá trị này có nghĩa là ứng dụng không sử dụng mã hóa hoặc chỉ mã hóa được miễn trừ. Nếu ứng dụng của bạn sử dụng mã hóa và không được miễn trừ, bạn phải đặt giá trị này thành CÓ / đúng.

Đôi khi có vẻ gây tranh cãi khi một ứng dụng được coi là sử dụng mã hóa.


1
cảm ơn - đây chính xác là những gì tôi đang tìm kiếm (cách thêm khóa này vào tệp plist đồ họa)
Natalia

2
Đặt 'ITSAppUsesNonExeemEncrypt' thành false / NO KHÔNG có nghĩa là mã hóa trong ứng dụng của bạn không thay đổi. Điều đó có nghĩa là ứng dụng không sử dụng mã hóa hoặc chỉ mã hóa được miễn trừ. Nếu ứng dụng của bạn sử dụng mã hóa và không được miễn trừ, bạn phải đặt giá trị này thành CÓ / đúng. Rất ít ứng dụng có thể đặt giá trị này thành KHÔNG; ví dụ: nếu bất kỳ phần nào trong ứng dụng của bạn sử dụng https, bạn gần như chắc chắn cần phải nói CÓ. Xem stackoverflow.com/questions/2135081/ từ
JosephH

1
@JosephH ổn, cảm ơn rất nhiều vì cái nhìn sâu sắc, thực sự thông tin của bạn có vẻ đúng
Elijah Saounkine

23
Bạn thường không cần đặt cái này thành CÓ nếu bạn đang sử dụng https. Xem chú thích 4 từ mục 5 phần 2 . Đối với hầu hết các phần, nếu mục đích chính của ứng dụng không phải là mã hóa, bạn có thể đặt giá trị thành NO. Có một số cảnh báo ở đây, như việc bạn có sẵn sàng từ bỏ thông tin theo yêu cầu từ "cơ quan thích hợp" hay không, vì vậy hãy đọc kỹ.
Ben Kane

1
Mã hóa HTTPS được thực hiện ở cấp độ HĐH; ứng dụng không đi vào rắc rối thực sự mã hóa dữ liệu. Theo hiểu biết của tôi, đề nghị của Ben Kane là chính xác.
Elijah Saounkine

61

Theo phân phối WWDC2015 có gì mới

nhập mô tả hình ảnh ở đây

Đặt "ITSAppUsesNonExeemEncrypt" thành "NO" trong info.plist hoạt động tốt. nếu không có nội dung mật mã trong ứng dụng của bạn.

nhập mô tả hình ảnh ở đây

Tôi đã có cửa sổ bật lên này trong khi chọn bản dựng để thử nghiệm nội bộ, tôi đã không bao gồm khóa "ITSAppUsesNonExeemEncrypt" trong thông tin của mình.plist nhưng vẫn hoạt động với tôi.

Ngay cả tôi đã tải lên thành công ứng dụng mới cũng không bao gồm các khóa "ITSEncryptExportComplianceCode" và "ITSAppUsesNonExeemEncrypt".

Ngoài ra Apple Đốc.

Quan trọng: Nếu ứng dụng của bạn yêu cầu bạn cung cấp tài liệu bổ sung cho đánh giá mã hóa, ứng dụng của bạn sẽ không có trạng thái Sẵn sàng để bán trên cửa hàng cho đến khi Xuất khẩu tuân thủ đã xem xét và phê duyệt tài liệu của bạn. Ứng dụng không thể được phân phối để thử nghiệm phát hành trước cho đến khi Xuất khẩu Tuân thủ đã xem xét và phê duyệt.

Nếu ứng dụng của bạn không sử dụng mã hóa và bạn không muốn phải trả lời những câu hỏi này tại thời điểm gửi, bạn có thể cung cấp thông tin tuân thủ xuất khẩu với bản dựng của mình. Bạn cũng có thể cung cấp tài liệu mới hoặc được cập nhật qua iTunes Connect để nhận giá trị chuỗi khóa phù hợp để đưa vào bản dựng của bạn trước khi tải nó lên iTunes Connect.

Để thêm tài liệu tuân thủ xuất khẩu trong iTunes Connect:

Chuyển đến phần Mã hóa bên dưới Tính năng. Nhấp vào dấu cộng bên cạnh phần nền tảng thích hợp. Trả lời các câu hỏi một cách thích hợp. Đính kèm tập tin khi được nhắc. Nhấp vào để lưu. Tài liệu của bạn sau đó sẽ được gửi để xem xét ngay lập tức và trạng thái của tài liệu của bạn sẽ hiển thị trong Đánh giá tuân thủ. Một giá trị khóa cũng sẽ được tạo tự động mà bạn có thể đưa vào tệp Info.plist của mình. Để biết thêm thông tin về việc bao gồm giá trị chính với bản dựng của bạn, hãy xem phần Tài nguyên và Trợ giúp Tuân thủ thương mại.

Bạn có thể tải lên bản dựng mà không cần khóa tuân thủ xuất. Nếu bạn bao gồm một khóa, nó có thể chỉ ra rằng bạn không cần tài liệu tuân thủ xuất khẩu; Điều này không cần phê duyệt. Nếu bạn bao gồm một khóa tham chiếu một tài liệu tuân thủ xuất khẩu cụ thể, tài liệu đó phải được phê duyệt; nó không thể được xem xét hoặc từ chối.

nhập mô tả hình ảnh ở đây

Bạn có thể xem lại câu trả lời của mình bất cứ lúc nào bằng cách nhấp vào tên tệp tài liệu và chọn Thông tin khác. Nếu bạn cần cập nhật tài liệu của mình hoặc thay đổi bất kỳ câu trả lời nào cho các câu hỏi, bạn sẽ cần lặp lại các bước trên để thêm một tài liệu mới tương ứng với các thay đổi của bạn.



51

Thêm khóa này trong tệp plist ... Mọi thứ sẽ ổn thôi ..

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

Chỉ cần dán trước </dict></plist>


25

Apple đã đơn giản hóa quy trình xây dựng của chúng tôi, vì vậy bạn không cần phải nhấp vào cùng một hộp kiểm mỗi lần. Bạn có thể hợp lý hóa luồng iTC của mình bằng cách biên dịch cờ này vào ứng dụng.

Đây vẫn là trường hợp của năm 2019.


17

Để chọn từ danh sách thả xuống, vui lòng bắt đầu nhập dòng sau:

Ứng dụng sử dụng mã hóa không miễn trừ


12

Về cơ bản có 2 điều cần ghi nhớ. Bạn chỉ được phép đặt nó là NO nếu bạn hoặc là không sử dụng mã hóa ở tất cả , hoặc bạn là một phần của quy định được miễn . Điều này áp dụng cho các loại ứng dụng sau:

Nguồn: Phòng thương mại : https://www.bis.doc.gov/index.php/policy-guidance/encoding/encoding-faqs#15

Ứng dụng tiêu dùng

  • vi phạm bản quyền và chống trộm cho phần mềm hoặc âm nhạc;
  • âm nhạc, phim ảnh, giai điệu / âm nhạc, hình ảnh kỹ thuật số - người chơi, người ghi âm và người tổ chức
  • trò chơi / chơi game - thiết bị, phần mềm thời gian chạy, HDMI và các giao diện thành phần khác, công cụ phát triển
  • TV LCD, Blu-ray / DVD, video theo yêu cầu (VoD), rạp chiếu phim, máy ghi video kỹ thuật số (DVR) / máy ghi video cá nhân (PVR) - thiết bị, hướng dẫn phương tiện trực tuyến, bảo vệ và toàn vẹn nội dung thương mại, HDMI và các thành phần khác giao diện (không phải hội nghị truyền hình);
  • máy in, máy photocopy, máy quét, máy ảnh kỹ thuật số, máy ảnh Internet - bao gồm các bộ phận và cụm lắp ráp phụ
  • tiện ích và thiết bị gia dụng

Ứng dụng kinh doanh / hệ thống: vận hành hệ thống, tích hợp và kiểm soát. Vài ví dụ

  • tự động hóa quy trình kinh doanh (BPA) - lập kế hoạch và lập kế hoạch quy trình, quản lý chuỗi cung ứng, hàng tồn kho và giao hàng

  • vận chuyển - an toàn và bảo trì, giám sát hệ thống và bộ điều khiển trên tàu (bao gồm hàng không, đường sắt và hệ thống ô tô thương mại), công nghệ 'đường cao tốc thông minh', hoạt động vận chuyển công cộng và thu giá vé, v.v.

  • hệ thống công nghiệp, sản xuất hoặc cơ khí - bao gồm robot, an toàn nhà máy, tiện ích, nhà máy và các thiết bị hạng nặng khác, bộ điều khiển hệ thống cơ sở như báo cháy và HVAC

  • y tế / lâm sàng - bao gồm các ứng dụng chẩn đoán, lên lịch cho bệnh nhân và bảo mật hồ sơ dữ liệu y tế

  • khoa học địa chất ứng dụng - khai thác / khoan, lấy mẫu khí quyển / theo dõi thời tiết, lập bản đồ / khảo sát, đập / thủy văn

Nghiên cứu / khoa học / phân tích. Vài ví dụ:

  • quản lý quy trình kinh doanh (BPM) - mô hình hóa và mô hình hóa quy trình kinh doanh

  • trực quan khoa học / mô phỏng / đồng mô phỏng (không bao gồm các công cụ như vậy để tính toán, kết nối mạng, phân tích mật mã, v.v.)

  • các công cụ tổng hợp dữ liệu cho các ngành khoa học xã hội, kinh tế và chính trị (ví dụ: kinh tế, dân số, biến đổi khí hậu toàn cầu, thăm dò dư luận, v.v. dự báo và mô hình hóa)

Giao hàng và lắp đặt tài sản trí tuệ an toàn. Vài ví dụ

  • tải xuống phần mềm tự động cài đặt và cập nhật

  • giấy phép bảo vệ sản phẩm và xác nhận mua tương tự

  • thiết kế phần mềm và phần cứng Bảo vệ IP

  • phần mềm hỗ trợ thiết kế máy tính (CAD) và các công cụ soạn thảo khác

Lưu ý: Những quy định này cũng đúng khi kiểm tra ứng dụng của bạn bằng cách sử dụng TestFlight


4

Lỗi tương tự được giải quyết như thế này

nhập mô tả hình ảnh ở đây

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

}

đã thêm một dòng mã liên quan để nhà phát triển có thể sử dụng để thêm các khóa cần thiết
Rıfat Erdem Sahin

Có nó, loại bỏ bình luận của tôi. Cảm ơn
Bhargav Rao

4

Apple đã thay đổi các quy tắc về điều này. Tôi đã đọc qua tất cả các tài liệu của Apple và càng nhiều bản xuất khẩu của Hoa Kỳ càng tốt.

Quan điểm của tôi về điều này cho đến gần đây thậm chí sử dụng HTTPS cho hầu hết các ứng dụng có nghĩa là Apple sẽ yêu cầu chứng chỉ xuất khẩu. Một số ứng dụng như ngân hàng sẽ ổn nhưng đối với nhiều ứng dụng, chúng không thuộc loại miễn trừ, rất rộng.

Tuy nhiên, Apple hiện đã giới thiệu một lối thoát trong danh mục được miễn cho các ứng dụng CHỈ sử dụng https. Tôi không biết khi nào họ đã làm điều này nhưng tôi nghĩ đó là tháng 12 năm 2016 hoặc tháng 1 năm 2017. Chúng tôi hiện đang gửi ứng dụng của mình mà không có chứng nhận từ Chính phủ Hoa Kỳ.


1
Liên kết đến tài liệu "lấy ra"? Tôi không thể xác định xem HTTPS có ổn hay không.
gbhall

@gbhall Không cần thiết cho HTTPS. Bạn có thể thử áp dụng và thậm chí bạn sẽ không nhận được thông qua mẫu đơn nữa từ các trang web của CPVN. (không nhớ tên)

@Sneak OK chúc mừng người đàn ông. Hy vọng rằng điều đó vẫn đúng trong tương lai.
gbhall

@Sneak chúc mừng người đàn ông. Ví dụ gần đây hơn này dường như cho thấy bạn cần gửi báo cáo hàng năm: stackoverflow.com/a/44396900/333733
gbhall

1
@Sneak chắc chắn một cái gì đó để xem xét thêm. Cảm ơn các liên kết. Chỉ cần HTTPS vào lúc này.
gbhall
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.