본문으로 건너뛰기

안드로이드 인증

안드로이드 키 스토어 생성기

1초 안에 온라인으로 안드로이드 키 스토어를 생성하세요. 안드로이드 스튜디오나 keytool 없이. PKCS#12 릴리즈 키 스토어, PEM 인증서, SHA-1 및 SHA-256 지문, Gradle, Capacitor, fastlane, CI, 및 Google Play를 위한 준비된 상태입니다.

컨테이너

PKCS#12

키

RSA 2048, SHA-256

지문

SHA-1 및 SHA-256

릴리스 체크리스트

  1. 1. 앱의 모든 시간 동안 alias와 password를 선택하세요.
  2. 2. 키스토어 다운로드하고 메타데이터를 비밀 관리자에 저장하세요.
  3. 3. Gradle 또는 CI 환경에서 동일한 alias와 password를 구성하세요.
  4. 4. 업로드 키를 안정적으로 유지하여 미래의 플레이 릴리스가 깨지지 않도록 하세요.

입력

키스토어 세부 정보

서명 인증서에 포함되어야 하는 주제 정보를 입력하고 안정적인 alias를 선택하세요.

출력

생성된 Android 서명 패키지

생성 후 다운로드 가능한 Keystore, 인증서 내보내기 및 서명 Fingerprints를 받을 수 있습니다. 이를 Store 설정 또는 OAuth 통합에 사용하세요.

Keystore 생성을 통해 Alias, Fingerprints, 파일 다운로드를 표시합니다.

기본

안드로이드 키스토어는 무엇입니까?

안드로이드 키스토어는 암호를 필요로 하는 파일로, 앱을 서명하기 위해 사용하는 개인 키와 인증서를 포함합니다. 모든 APK 및 안드로이드 앱 번들에는 서명이 필요하며, 안드로이드는 기존에 설치된 버전과 동일한 키로 서명된 업데이트만 설치하거나 배포할 수 있습니다.

이 키스토어는 프로젝트 내에서 가장 중요한 파일 중 하나입니다. Play 앱 서명 기능을 사용하면 Google이 앱을 재 서명하기 전에 확인하는 키로 작동하며, Play 앱 서명 기능을 사용하지 않는 경우 앱 서명 키 자체로 작동합니다. 키를 잃어버리면 앱을 업데이트할 수 없습니다. 업로드 키앱 서명 키 이 키 생성기는 RSA 2048-bit 키와 SHA-256 인증서를 포함하는 PKCS#12 (.p12) 키스토어를 생성하며, Google Play 요구 사항을 충족하는 25년의 기본 유효 기간을 갖습니다. 안전성 및 개인 정보

키스토어 생성 방법 keytool 키스토어는 HTTPS를 통해 상태가 없는 __CAPGO_KEEP_0__ 엔드포인트에서 생성되어 브라우저로 다운로드됩니다.

안전성 및 개인 정보 보호

Android 키 스토어 생성 방법

  • HTTPS를 통해 상태가 없는 Capgo 엔드포인트에서 키스토어를 즉시 생성하고 브라우저로 다운로드합니다.
  • 응답은 다음과 함께 전송됩니다. Cache-Control: no-store. 개인 키, 비밀번호 및 파일은 응답 후 데이터베이스나 저장되지 않습니다.
  • 키 스토어는 PKCS # 12 컨테이너 내에서 AES-256 암호화를 사용하여 비밀번호로 보호됩니다.
  • 계정이나 회원 가입이 필요하지 않으며, 요청은 방지하기 위해 속도 제한이 걸립니다.

머신 내에서 절대 나가지 않는 키가 필요합니까? 동일한 종류의 키 스토어를 생성하는 동등한 명령어를 실행하세요. keytool 동등한 키tool 명령어

단계별
keytool -genkeypair -v \
  -storetype PKCS12 \
  -keystore release.p12 \
  -alias release \
  -keyalg RSA -keysize 2048 \
  -validity 9125 \
  -dname "CN=Jane Doe, O=Acme Mobile, C=DE"

안드로이드 키 스토어를 온라인으로 생성하는 방법

Google Play에서 서명된 릴리스까지 6 단계로 빈 양식부터 시작합니다. 첫 세 단계는 1 분 이내입니다.

1 단계

  1. Step 1

    Step by step

    이름, 이메일, 그리고 두 글자 국가 code. 조직, 부서, 도시, 주는 선택 사항이며, 인증서 제목에만 나타납니다.

  2. Capgo

    alias, 유효기간, 비밀번호를 선택하세요

    release 또는 upload와 같은 간단한 alias를 선택하고 25년 유효성을 유지하고, 최소 8자 이상의 강력한 비밀번호를 설정하세요. 모든 세 가지를 기록한 후 계속하세요.

  3. Step 3

    키스토어를 생성하고 다운로드하세요

    Generate keystore를 선택하고 .p12 키스토어와 PEM 인증서를 다운로드하세요. 결과 패널에서 SHA-1 및 SHA-256 finger print를 복사하세요.

  4. Step 4

    키스토어와 자격 증명을 백업하세요

    키스토어 파일, alias, 비밀번호를 함께 비밀 관리자 또는 비밀 관리자에 저장하세요. 키스토어를 Git에 커밋하지 마세요.

  5. 5단계

    빌드에 서명 구성

    Gradle, Capacitor CLI, fastlane, 또는 Capgo Cloud Build에 키스토어에 별명과 비밀번호를 입력한 후, 서명된 릴리즈 AAB 또는 APK를 빌드합니다.

  6. 6단계

    구글 플레이에 서명된 앱을 업로드하세요

    구글 플레이 콘솔에 서명된 안드로이드 앱 번들을 업로드하세요. Play App Signing을 사용하면 이 키스토어는 업로드 키가 되고 구글은 최종 앱 서명 키를 관리합니다.

생성된 키스토어를 사용하세요

안드로이드 앱을 생성된 키스토어로 서명하세요

위의 별명과 비밀번호를 대체하세요. 키스토어는 PKCS#12이므로 키 비밀번호는 저장소 비밀번호와 같습니다.

Gradle 서명 구성

Capacitor, Ionic, React Native, Flutter, native 프로젝트에 모두 작동합니다. gradle.properties 또는 환경 변수에 비밀번호를 저장하세요.

android/app/build.gradle
// android/app/build.gradle
android {
    signingConfigs {
        release {
            storeFile file(RELEASE_STORE_FILE)
            storePassword RELEASE_STORE_PASSWORD
            keyAlias RELEASE_KEY_ALIAS
            keyPassword RELEASE_STORE_PASSWORD
            storeType "pkcs12"
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }
}

# ~/.gradle/gradle.properties (keep out of Git)
RELEASE_STORE_FILE=/path/to/release.p12
RELEASE_STORE_PASSWORD=your-password
RELEASE_KEY_ALIAS=release

Capacitor CLI

Capacitor 앱에 서명된 안드로이드 앱 번들을 한 명령으로 빌드하세요.

Capacitor signed build
bunx cap build android \
  --keystorepath ./release.p12 \
  --keystorepass "your-password" \
  --keystorealias release \
  --keystorealiaspass "your-password" \
  --androidreleasetype AAB

Capgo 클라우드 빌드

한 번만 저장하고 Capgo 클라우드 빌드 모든 릴리스를 위해 서명하고 업로드하세요.

Capgo CLI
bunx @capgo/cli@latest build credentials save \
  --platform android \
  --keystore ./release.p12 \
  --keystore-alias release \
  --keystore-key-password "your-password" \
  --keystore-store-password "your-password"

fastlane

CI 비밀을 사용하여 Gradle 액션에 서명 속성을 주입하세요.

Fastfile
gradle(
  task: "bundle",
  build_type: "Release",
  properties: {
    "android.injected.signing.store.file" => ENV["RELEASE_STORE_FILE"],
    "android.injected.signing.store.password" => ENV["RELEASE_STORE_PASSWORD"],
    "android.injected.signing.key.alias" => ENV["RELEASE_KEY_ALIAS"],
    "android.injected.signing.key.password" => ENV["RELEASE_STORE_PASSWORD"],
  }
)

CI에서 확인, 변환 및 저장하세요.

alias와 finger print를 확인하고, JKS를 위해 레거시 도구에 변환하거나, CI 비밀을 위해 파일을 인코딩하세요.

keytool과 base64
# Inspect the keystore, alias, and fingerprints
keytool -list -v -keystore release.p12 -storetype PKCS12

# Convert to JKS if an older tool requires it
keytool -importkeystore \
  -srckeystore release.p12 -srcstoretype PKCS12 \
  -destkeystore release.jks -deststoretype JKS

# Base64-encode the keystore for a CI secret
base64 -i release.p12 | tr -d '\n' > release.p12.base64

문제 해결

안드로이드 키 스토어 오류와 해결 방법

키 스토어가 손상되거나 암호가 잘못되었습니다.
스토어 암호가 잘못되었습니다. 암호 관리자에서 암호를 다시 복사하고 CI 비밀을 확인하여 끝에 공백이 있는지 확인하세요.
release라는 이름의 키가 키 스토어에 없습니다.
alias가 일치하지 않습니다. 키 스토어의 정확한 alias를 확인하려면 keytool -list를 실행하세요. alias는 대소문자를 구분합니다.
최종 블록이 올바르게 패딩되지 않았습니다.
키 암호가 잘못되었습니다. PKCS#12 키 스토어의 경우 키 암호는 스토어 암호와 동일해야 합니다.
키 스토어 형식이 유효하지 않습니다.
오래된 Java 8 빌드 도구가 PKCS#12 파일을 JKS로 읽고 있습니다. Gradle에서 storeType을 'pkcs12'로 설정하거나 keytool -importkeystore를 사용하여 파일을 JKS로 변환하세요.
Android 앱 번들을 잘못된 키로 서명했습니다.
구글 플레이는 원래 업로드 키를 기대합니다. 원래 업로드 키로 서명하거나 Play 콘솔에서 새로운 키 스토어의 PEM 인증서를 사용하여 업로드 키를 다시 설정하세요.
Google Sign-In or Firebase Auth는 릴리즈 빌드에서만 실패합니다.
Firebase에 릴리즈 SHA-1 및 SHA-256 인프린트를 추가하고 Play 콘솔에서 Play 앱 서명 키 인프린트도 추가하세요.

FAQ

Android 키 스토어 생성기 FAQ

Android 키 스토어 생성기 FAQ에 대한 답변

Android 키 스토어란 무엇인가요?

Android 키 스토어는 APK 또는 Android 앱 번들에 서명하기 위해 사용하는 개인 키와 인증서를 보관하는 암호화된 파일입니다. Android와 Google Play는 업데이트 소스 개발자가 동일한지 확인하기 위해 서명이 검증되며, 따라서 모든 미래 릴리즈에 동일한 키로 서명해야 합니다.

Android 키 스토어를 온라인으로 Android Studio 없이 생성하는 방법은 무엇인가요?

이름, 이메일, 국가 code, 키 별칭, 유효 기간, 암호를 입력한 후 위의 양식을 채우고 Generate keystore을 선택하세요. 그러면 ready-to-use .p12 키 스토어, PEM 인증서 복사본, SHA-1 및 SHA-256 인프린트를 받을 수 있습니다. Android Studio, JDK, 또는 keytool 설치가 필요하지 않습니다.

이 Android 키 스토어 생성기는 어떤 파일 형식을 생성하는가요?

PKCS#12 (.p12) 키 스토어와 RSA 2048-bit 서명 키, SHA-256 서명 인증서를 생성하며, PEM 인증서를 포함합니다. PKCS#12은 Java 9부터 기본 키 스토어 형식이며 Gradle, apksigner, jarsigner, 및 Google Play에서 지원합니다. 만약 이전 도구가 JKS 파일을 필요로 한다면 keytool -importkeystore를 사용하여 변환하세요.

온라인으로 키 스토어를 생성하는 것이 안전한가요? 키가 저장되는가요?

이 키 스토어는 HTTPS를 통해 Capgo 엔드포인트에 의해 즉시 생성되고 브라우저로 반환됩니다. 응답은 Cache-Control: no-store로 전송되고, 개인 키, 비밀번호 및 파일은 응답 후 데이터베이스에 기록되거나 유지되지 않습니다. 보안 정책이 키가 머신 밖으로 나가지 않도록 요구하는 경우, 이 페이지에 표시된 키툴 명령어를 사용하세요.

구글 플레이 릴리스에 이 키 스토어를 사용할 수 있나요?

네. Play App Signing에 등록된 새로운 앱에 업로드 키로 사용하거나, 직접 APK 배포를 위해 앱 서명 키로 사용하세요. 구글 플레이는 인증서가 2033년 10월 22일까지 유효해야 하며, 기본 25년 유효 기간은 이 요구사항을 충족합니다.

스토어 비밀번호와 키 비밀번호가 다르면 좋나요?

아니요. PKCS#12 키 스토어는 컨테이너와 키에 하나의 비밀번호를 사용합니다. Gradle, Capacitor CLI, fastlane, 또는 Capgo Cloud Build에서, 스토어 비밀번호와 키 비밀번호에 동일한 값을 입력하세요.

무엇의 유효 기간을 선택해야 하나요?

기본 25년을 유지하세요. 구글은 최소 25년을 권장하고, 2033년 10월 22일 이전에 만료되는 인증서로 업로드한 경우 구글 플레이가 거부합니다. 기존 키의 유효 기간을 나중에 연장할 수 없습니다.

키 스토어나 비밀번호를 잃어버렸을 때 무슨 일이 일어나요?

Google Play App Signing을 사용하는 앱이면 Play Console에서 업로드 키를 다시 초기화할 수 있습니다. 여기서 새로운 키스토어를 생성하고 PEM 인증서를 업로드하면 됩니다. Play App Signing이 없는 경우, 앱 목록에 업데이트를 게시할 수 없으므로 파일, alias, 비밀번호를 비밀 관리자에 백업하세요.

debug 키스토어를 위한 도구가 필요합니까?

Usually not. The Android SDK creates a debug keystore automatically at ~/.android/debug.keystore with the password android and the alias androiddebugkey. Use this generator for release and upload keys that must stay stable across store releases.

SHA-1 및 SHA-256 finger print은 어디에 찾을 수 있나요?

결과 패널에서 바로 나타납니다. Firebase, Google Sign-In, Google Maps, Android App Links(assetlinks.json)와 같은 서비스에 등록하세요. Play App Signing이 앱을 다시 서명하면 Google 서비스도 Play Console에서 앱 서명 키 finger print를 등록해야 합니다.

Capacitor

Yes. A keystore is framework independent. Any Android build that uses Gradle can sign with it, including Capacitor, Ionic, React Native, Flutter, and native Kotlin or Java projects.