بررسی امضای اپلیکیشن
شنبه, ۲۹ دی ۱۴۰۳، ۰۴:۴۶ ب.ظ
امضای دیجیتال (Signing) در اپلیکیشنهای اندرویدی فرآیندی است که به تایید اصالت و یکپارچگی فایل APK کمک میکند.
وقتی یک برنامه اندروید (فایل APK) ساخته میشود، نیاز است که امضا شود. این امضا برای موارد زیر ضروری است:
- تایید اصالت توسعهدهنده: نشان میدهد که این فایل APK از یک توسعهدهنده خاص آمده است.
- یکپارچگی فایل: تضمین میکند که فایل APK بعد از امضا تغییر نکرده است.
- انتشار در فروشگاه Google Play: برنامهها باید امضا شوند تا در Google Play منتشر شوند.
- بهروزرسانی برنامه: وقتی برنامهای در دستگاه نصب میشود، نسخههای جدیدتر آن باید با همان کلید امضا شوند تا بهروزرسانی انجام شود.
فایلهای دخیل در فرآیند امضا
-
Keystore File (
.jks
یا.keystore
)- این فایل شامل کلید خصوصی شما است که برای امضای APK استفاده میشود.
- این کلید محرمانه است و نباید در اختیار دیگران قرار بگیرد.
- همراه با رمز عبور (password) از آن محافظت میشود.
-
Certificate (گواهی)
- هر کلید خصوصی یک گواهی عمومی دارد که شامل اطلاعاتی مانند نام توسعهدهنده، سازمان، و تاریخ انقضا است.
- گواهی بخشی از امضای APK است.
-
Manifest و Signature
- در امضای V1، یک فایل
META-INF/MANIFEST.MF
و فایلهایMETA-INF/CERT.SF
وMETA-INF/CERT.RSA
در APK قرار میگیرند که اطلاعات مربوط به امضا را ذخیره میکنند. - در امضاهای V2، V3 و V4، این اطلاعات در یک بخش خاص از APK ذخیره میشوند.
- در امضای V1، یک فایل
چرا از امضا استفاده میشود؟
- امنیت: اگر کسی فایل APK را بعد از امضا تغییر دهد، امضا باطل میشود و دستگاه اندروید از نصب آن جلوگیری میکند.
- اعتماد: کاربران میدانند که برنامه از یک توسعهدهنده مشخص آمده و توسط شخص ثالث تغییر نکرده است.
- سازگاری: امضا تضمین میکند که فقط نسخههای جدیدتر با همان کلید میتوانند جایگزین نسخههای قدیمی شوند.
۰۳/۱۰/۲۹