Android/Android 정책 변경

Network Security Policy 변경 (targetSdk 28)

배고파.. 2019. 9. 2. 15:18

targetSdk 28, Android P 이상부터 TLS로 기본값이 변경.

Android P 변경 내용

Protecting users with TLS by default in Android P

네트워크 보안 구성

네트워크 보안 구성 (android dev summit 2019!)

 

Error 내용

  • Cleartext HTTP traffic to not permitted

  • not permitted by network security policy

 

수정 방법

  • TLS 및 HTTPS과 같은 프로토콜 사용

 

BUT!! 개발서버 연결 및 디버깅을 위해 SSL 인증서가 없는 서버와 통신 하고 싶을땐?

  • 디버그 모드 사용

    • android:debuggable true

    • debug-overrides를 사용하여 신뢰할 수 있는 디버그 전용 CA를 지정

    • 보안 예방 조치로 앱 스토어에서 디버그 가능으로 표시된 앱은 허용하지 않기 때문에 안전한편!!

    • 단, 마켓 테스트 배포용으로는 사용할 수 없음

Step 1. AndroidManifest.xml

<application
    ...
    android:networkSecurityConfig="@xml/network_security_config">
    ...
</application>

Step 2. res/xml/network_security_config.xml

    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
        <debug-overrides>
            <trust-anchors>
                <certificates src="@raw/debug_cas"/>
            </trust-anchors>
        </debug-overrides>
    </network-security-config>

 

  • cleartext 통신을 허용 할 domain 선언

    • 특정 도메인에 대한 cleartextTrafficPermitted = “true”

    • 해당 도메인에 연결할 때만 cleartextTraffic 허용

    • 마켓 테스트 배포용으로는 사용할 수 있지만 추천하지 않음

Step 1. AndroidManifest.xml

<application
    ...
    android:networkSecurityConfig="@xml/network_security_config">
    ...
</application>

Stpe 2. res/xml/network_security_config.xml

    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
        <domain-config cleartextTrafficPermitted="true">
            <domain includeSubdomains="true">www.example.com</domain>
            <domain includeSubdomains="true">cdn.example.com</domain>
        </domain-config>
    </network-security-config>

 


귀찮다면…. 추천하진 않지만…

AndroidManifest.xml 파일의 <application> 부분에 android:usesCleartextTraffic="true"로 해주면 됩니다.

  • AndroidManifest.xml

<application
    ...
    android:usesCleartextTraffic="true">
    ...
</application>

 

'Android > Android 정책 변경' 카테고리의 다른 글

2019 Android 정책 변경  (0) 2019.09.02