내부 테스트 중에 ITSAppUsesNonExemptEncryption 수출 규정 준수?


215

info.plist에서 ITSAppUsesNonExemptEncryption 을 설정하는 것에 대해 내부 테스트를 위해 빌드를 선택하는 동안이 메시지 가 나타납니다. 무슨 의미입니까? 그게 필요 할까?

여기에 이미지 설명을 입력하십시오


3
문자 그대로 암호화를 사용하고 있는지 / 앱이 보안 정보를 암호로 저장하도록 설계되었는지 묻습니다.
Andriko13

1
2016 년 9 월 20 일부터는 더 이상 필요하지 않습니다. 내 답변보기 here : 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를 사용한다면 거의 YES라고해야합니다. stackoverflow.com/questions/2135081/…를
JosephH

1
@JosephH 자, 통찰력에 정말 감사합니다, 실제로 귀하의 정보가 정확한 것 같습니다
Elijah Saounkine

23
https를 사용하는 경우 일반적으로 이것을 YES로 설정하지 않아도됩니다. 카테고리 5 파트 2의 참고 4를 참조하십시오 . 대부분의 경우 앱의 주요 목적이 암호화가 아닌 경우 값을 NO로 설정할 수 있습니다. "적절한 권한"의 요청에 따라 정보를 기꺼이 포기할지 여부와 같은 몇 가지 경고가 있으므로주의 깊게 읽으십시오.
벤 케인

1
HTTPS 암호화는 OS 수준에서 구현됩니다. 응용 프로그램은 실제로 데이터를 암호화하는 데 어려움을 겪지 않습니다. 내 이해에는 벤 케인의 제안이 맞습니다.
Elijah Saounkine

61

WWDC2015 배포에 따르면 Whats New

여기에 이미지 설명을 입력하십시오

info.plist에서 "ITSAppUsesNonExemptEncryption"을 "NO"로 설정하면 제대로 작동합니다. 앱에 암호화 콘텐츠가없는 경우

여기에 이미지 설명을 입력하십시오

내부 테스트를 위해 빌드를 선택할 때이 팝업이 나타났습니다. info.plist에 "ITSAppUsesNonExemptEncryption"키를 포함시키지 않았지만 여전히 효과가있었습니다.

새 애플리케이션을 성공적으로 업로드하더라도 "ITSEncryptionExportComplianceCode"및 "ITSAppUsesNonExemptEncryption"키가 포함되지 않았습니다.

또한 Apple Doc.

중요 : 앱에서 암호화 검토를 위해 추가 문서를 제공해야하는 경우 수출 규정 준수가 문서를 검토하고 승인 할 때까지 앱이 상점에서 판매 준비 상태가되지 않습니다. 수출 규정 준수가 검토하고 승인 할 때까지 시험판 테스트를 위해 앱을 배포 할 수 없습니다.

앱에서 암호화를 사용하지 않고 제출시 이러한 질문에 대답하지 않으려는 경우 빌드와 함께 수출 준수 정보를 제공 할 수 있습니다. iTunes Connect를 통해 새 문서 나 업데이트 된 문서를 제공하여 iTunes Connect에 업로드하기 전에 빌드에 포함 할 적절한 키 문자열 값을받을 수도 있습니다.

iTunes Connect에서 수출 규정 준수 설명서를 추가하려면 :

기능 아래의 암호화 섹션으로 이동하십시오. 해당 플랫폼 섹션 옆에있는 더하기 부호를 클릭하십시오. 질문에 적절히 대답하십시오. 메시지가 표시되면 파일을 첨부하십시오. 저장을 클릭하십시오. 그러면 문서가 즉시 검토를 위해 전송되고 문서 상태가 준수 검토에 표시됩니다. Info.plist 파일에 포함시킬 수있는 키 값도 자동으로 생성됩니다. 빌드에 키 값을 포함시키는 방법에 대한 자세한 내용은 리소스 및 도움말 섹션 Trade Compliance를 참조하십시오.

내보내기 규정 준수 키없이 빌드를 업로드 할 수 있습니다. 키를 포함하면 수출 규정 준수 문서가 필요하지 않음을 나타낼 수 있습니다. 이것은 승인이 필요하지 않습니다. 특정 수출 규정 준수 문서를 참조하는 키를 포함하는 경우 해당 문서는 승인되어야합니다. 검토 중이거나 거부 할 수 없습니다.

여기에 이미지 설명을 입력하십시오

문서 파일 이름을 클릭하고 추가 정보를 선택하여 언제든지 답변을 검토 할 수 있습니다. 설명서를 업데이트하거나 질문에 대한 답변을 변경해야하는 경우 변경 사항에 해당하는 새 문서를 추가하려면 위 단계를 반복해야합니다.



51

plist 파일에이 키를 추가하십시오.

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

전에 붙여 넣기 </dict></plist>


25

Apple은 제작 과정을 단순화했기 때문에 매번 같은 확인란을 클릭 할 필요가 없습니다. 이 플래그를 앱으로 컴파일하여 iTC 흐름을 간소화 할 수 있습니다.

2019 년 현재도 여전히 그렇습니다.


17

드롭 다운에서 선택하려면 다음 줄을 입력하십시오.

비 면제 암호화를 사용하는 앱


12

기본적으로 염두에 두 가지가 있습니다. 당신은 당신이 경우 NO로 설정하도록 허용 하거나 전혀 암호화를 사용하지 않는 , 또는 당신은 면제 규정의 일부입니다 . 이것은 다음과 같은 종류의 응용 프로그램에 적용됩니다.

출처 : 상공 회의소 : https://www.bis.doc.gov/index.php/policy-guidance/encryption/encryption-faqs#15

소비자 응용

  • 소프트웨어 또는 음악에 대한 불법 복제 및 도난 방지;
  • 음악, 영화, 음악 / 음악, 디지털 사진 – 플레이어, 레코더 및 주최자
  • 게임 / 게임 – 장치, 런타임 소프트웨어, HDMI 및 기타 구성 요소 인터페이스, 개발 도구
  • LCD TV, Blu-ray / DVD, 주문형 비디오 (VoD), 영화, 디지털 비디오 레코더 (DVR) / 개인 비디오 레코더 (PVR) – 장치, 온라인 미디어 가이드, 상업용 컨텐츠 무결성 및 보호, HDMI 및 기타 구성 요소 인터페이스 (화상 회의가 아님);
  • 프린터, 복사기, 스캐너, 디지털 카메라, 인터넷 카메라 – 부품 및 하위 어셈블리 포함
  • 가정용 유틸리티 및 기기

비즈니스 / 시스템 애플리케이션 : 시스템 운영, 통합 및 제어. 몇 가지 예

  • 비즈니스 프로세스 자동화 (BPA) – 프로세스 계획 및 스케줄링, 공급망 관리, 재고 및 배송

  • 운송 – 안전 및 유지 보수, 시스템 모니터링 및 온보드 컨트롤러 (항공, 철도 및 상업용 자동차 시스템 포함), '스마트 하이웨이'기술, 대중 교통 운영 및 요금 징수 등

  • 산업, 제조 또는 기계 시스템-로봇 공학, 공장 안전, 유틸리티, 공장 및 기타 중장비, 화재 경보 및 HVAC와 같은 시설 시스템 컨트롤러

  • 의료 / 임상 – 진단 응용 프로그램, 환자 예약 및 의료 데이터 기록 기밀 유지

  • 응용 지구과학 – 광업 / 시추, 대기 샘플링 / 날씨 모니터링, 매핑 / 측량, 댐 / 수 문학

연구 / 과학 / 분석. 몇 가지 예 :

  • 비즈니스 프로세스 관리 (BPM) – 비즈니스 프로세스 추상화 및 모델링

  • 과학적 시각화 / 시뮬레이션 / 공 시뮬레이션 (컴퓨팅, 네트워킹, 암호화 분석 등을위한 도구 제외)

  • 사회, 경제 및 정치 과학을위한 데이터 합성 도구 (예 : 경제, 인구, 지구 기후 변화, 여론 조사 등 예측 및 모델링)

지적 재산 제공 및 설치 보안. 몇 가지 예

  • 소프트웨어 다운로드 자동 설치 프로그램 및 업데이트 프로그램

  • 라이센스 키 제품 보호 및 유사 구매 검증

  • 소프트웨어 및 하드웨어 설계 IP 보호

  • CAD (Computer Aided Design) 소프트웨어 및 기타 제도 도구

참고 :이 규정은 다음을 사용하여 앱을 테스트 할 때도 적용됩니다. 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

내 의견을 제거했습니다. 감사합니다
Bhargav Rao

4

Apple은 이에 대한 규칙을 변경했습니다. 나는 모든 Apple 문서와 내가 찾은 미국 수출 규정을 많이 읽었습니다.

이것에 대한 나의 견해는 최근까지도 대부분의 앱에 HTTPS를 사용하더라도 Apple이 수출 인증서를 요구한다는 것을 의미했습니다. 뱅킹과 같은 일부 앱은 문제가되지 않지만 많은 앱의 경우 예외 범주에 포함되지 않은 매우 광범위합니다.

그러나 Apple은 이제 https를 사용하는 앱에 대해 면제 범주 아래에 getout을 도입했습니다. 언제이 작업을 수행했는지는 모르지만 2016 년 12 월 또는 2017 년 1 월이라고 생각합니다. 이제 미국 정부의 인증서없이 앱을 제출하고 있습니다.


1
"나가기"문서에 링크 하시겠습니까? HTTPS가 올바른지 여부를 확인할 수 없습니다.
gbhall

@gbhall HTTPS에는 필요하지 않습니다. 신청을 시도해도 GOV 사이트에서 더 이상 신청서를 작성하지 않아도됩니다. (이름을 기억하지 마십시오)

@ 몰래 확인 건배 남자. 바라건대 미래에도 계속 될 것입니다.
gbhall

@ 몰래 건배 남자. 이 최신 예는 연간 보고서를 제출해야 함을 나타냅니다. stackoverflow.com/a/44396900/333733
gbhall

1
@ 더 많은 것을 살펴볼 무언가를 몰래 들어보십시오. 링크 주셔서 감사합니다. 현재는 HTTPS입니다.
gbhall
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.