programing

Android Studio에서 서명된 APK를 생성하는 동안 서명 버전 - V1(Jar Signature)과 V2(Full APK Signature)의 차이점은 무엇입니까?

i4 2023. 9. 3. 12:10
반응형

Android Studio에서 서명된 APK를 생성하는 동안 서명 버전 - V1(Jar Signature)과 V2(Full APK Signature)의 차이점은 무엇입니까?

Android Studio 2.3에서 사용할 시그니처 버전을 하나 이상 선택하십시오.

하는 동안, 1. 이 Android Studio 서 APK 생옵션동을 (CheckBox), 즉 1표시의 두 옵션을.V1 (Jar Signature)그리고 2.V2 (Full APK Signature)서명된 APK 생성 프로세스의 마지막 단계에서 Signature Versions로 지정합니다.

**Signature Versions** options

그렇다면, 새로운 Android Studio 업데이트에서 V1(Jar Signature) V2(Full APK Signature)의 차이점은 무엇입니까?

그리고 플레이 스토어 출시를 위한 pk 서명을 위해 어떤 것(또는 둘 다)을 사용해야 합니까?

또한 두 번째 옵션을 사용할 때 APK를 설치하는 동안 Install Parse Failed No Certificates 오류가 발생합니다.

이것은 Android 7.0에 도입된 새로운 서명 메커니즘으로, APK 서명을 보다 안전하게 하기 위해 설계된 추가 기능이 있습니다.

필수 사항은 아닙니다.가능한 경우 두 확인란을 모두 선택해야 하지만 새 V2 서명 메커니즘에서 문제가 발생할 경우 이 확인란을 생략할 수 있습니다.

따라서 문제가 발생하면 V2를 선택하지 않은 상태로 둘 수 있지만 가능하면 확인해야 합니다.

업데이트됨:이제 Android 11을 대상으로 할 때 이는 필수 사항입니다.

플레이 스토어 출시를 위한 패키지 계약을 위해 (또는 둘 다) 사용해야 합니까?정답은 YES입니다.

https://source.android.com/security/apksigning/v2.html#verification 에 따르면:

Android 7.0에서는 APK Signature Scheme v2(v2 방식) 또는 JAR 서명(v1 방식)에 따라 APK를 확인할 수 있습니다.이전 플랫폼은 v2 서명을 무시하고 v1 서명만 확인합니다.

V2(Full Apk Signature) 옵션을 선택하여 빌드를 생성하려고 했습니다.그리고 7.0 이하의 장치에 릴리스 빌드를 설치하려고 했는데 장치에 빌드를 설치할 수 없습니다.

그 후 버전 확인란과 릴리스 빌드 생성을 모두 선택하여 빌드를 시도했습니다.그런 다음 빌드를 설치할 수 있습니다.

여기에는 "기본적으로 Android Studio 2.2와 Android Plugin for Gradle 2.2는 APK Signature Scheme v2와 JAR 서명을 사용하는 기존 서명 방식을 모두 사용하여 앱에 서명합니다."라고 쓰여 있습니다.

이러한 새로운 확인란이 Android 2.3과 함께 나타난 것처럼 보이기 때문에 이전 버전의 Android Studio(최소 2.2)가 두 개의 서명으로 서명한 것으로 알고 있습니다.따라서 이전과 같이 계속 진행하기 위해서는 두 확인란을 모두 선택하는 것이 좋다고 생각합니다.

EDIT 2017년 3월 31일 : 두 가지 서명이 모두 포함된 여러 앱 제출 => 문제 없음 :)

링크에 따라: 서명 도움말

APK Signature Scheme v2는 다음을 제공합니다.

  1. 앱 설치 시간 단축
  2. APK 파일의 무단 변경에 대한 보호 기능 강화.

Android 7.0에는 APK Signature Scheme v2가 도입되었는데, 이는 APK 설치 시간을 단축하고 APK 파일의 무단 변경으로부터 더 많은 보호 기능을 제공하는 새로운 앱 서명 체계입니다.기본적으로 Android Studio 2.2와 Android Plugin for Gradle 2.2는 APK Signature Scheme v2와 JAR 서명을 사용하는 기존 서명 방식을 모두 사용하여 앱에 서명합니다.

APK Signature Scheme v2를 사용하는 것이 권장되지만 필수 사항은 아닙니다.

앱에 APK Signature Scheme v2를 적용하는 것이 좋지만, 이 새로운 방식은 필수 사항이 아닙니다.APK Signature Scheme v2를 사용할 때 앱이 제대로 구축되지 않으면 새 Scheme을 비활성화할 수 있습니다.

저는 이것이 좋은 대답이라고 생각합니다.

IMT2000 3GPP - APK 서명

  1. 를 .APK Signing Block다음 사항을 확인합니다.
    1. 기필드의 두 APK Signing Block같은 값을 포함합니다.
    2. ZIP Central Directory에 다에바나옵다니로음다▁is▁immedi가 나옵니다.ZIP End of Central Directory기록.
    3. ZIP End of Central Directory더 많은 데이터가 뒤따르지 않습니다.
  2. 번째 첫번위찾기를 .APK Signature Scheme v2 Block에의 에.APK Signing Block3.v2 블단3 합니3 합니다.그렇지 않으면 v1 스키마를 사용하여 APK를 확인합니다.
  3. 의각서에대해의 각 APK Signature Scheme v2 Block:
    1. 서명에서 지원되는 가장 강력한 서명 알고리즘 ID를 선택합니다.강도 순서는 각 구현/플랫폼 버전에 따라 달라집니다.
    2. 공개 키를 사용하여 서명된 데이터에 대해 서명의 해당 서명을 확인합니다. 이제 서명된 데이터를 구문 분석하는 것이 안전합니다.
    3. 요약 및 서명의 서명 알고리즘 ID 순서 목록이 동일한지 확인합니다.(시그니처 스트리핑/추가를 방지하기 위한 것입니다.)
    4. 서명 알고리즘에서 사용하는 다이제스트 알고리즘과 동일한 다이제스트 알고리즘을 사용하여 APK 콘텐츠의 다이제스트를 계산합니다.
    5. 계산된 다이제스트가 다이제스트의 해당 다이제스트와 동일한지 확인합니다.
    6. 을 합니다.SubjectPublicKeyInfo인증서의 첫 번째 인증서가 공개 키와 동일합니다.
  4. 하나 이상의 서명자가 발견되고 각 발견된 서명자에 대해 3단계가 성공한 경우 확인에 성공합니다.

참고: 3단계 또는 4단계에서 오류가 발생한 경우 v1 방식을 사용하여 APK를 확인할 수 없습니다.

JAR 서명 APK 확인(v1 체계)

JAR 서명된 APK는 표준 서명된 JAR이며, 여기에는 에 나열된 항목이 정확히 포함되어야 합니다.META-INF/MANIFEST.MF모든 항목은 동일한 서명자 집합에 의해 서명되어야 합니다.무결성은 다음과 같이 확인됩니다.

  1. 각 서명자는 다음과 같이 표시됩니다.META-INF/<signer>.SF그리고.META-INF/<signer>.(RSA|DSA|EC)JAR 입력.
  2. <signer>.(RSA|DSA|EC)이다.PKCS #7 CMS ContentInfo를 통해 서명이 확인되는 SignedData 구조를 사용합니다.<signer>.SF파일.
  3. <signer>.SF파일에는 의 전체 파일 다이제스트가 포함되어 있습니다.META-INF/MANIFEST.MF각 섹션의 요약 및META-INF/MANIFEST.MF의 전체 파일 요약MANIFEST.MF확인되었습니다.이 작업이 실패할 경우 각 작업의 요약MANIFEST.MF대신 섹션이 확인됩니다.
  4. META-INF/MANIFEST.MF에는 무결성으로 보호되는 각 JAR 항목에 대해 해당 항목의 압축되지 않은 내용의 요약이 포함된 명명된 섹션이 포함됩니다.이 모든 다이제스트가 확인되었습니다.
  5. APK에 목록에 없는 JAR 항목이 포함된 경우 APK 확인이 실패합니다.MANIFEST.MFJAR 서명의 일부가 아닙니다.따라서 보호 체인은 다음과 같습니다.<signer>.(RSA|DSA|EC)<signer>.SFMANIFEST.MF각 무결성 보호 JAR 항목의 내용.

언급URL : https://stackoverflow.com/questions/42648499/difference-between-signature-versions-v1-jar-signature-and-v2-full-apk-sign

반응형