آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

طبقه بندی موضوعی

بررسی امضای اپلیکیشن

شنبه, ۲۹ دی ۱۴۰۳، ۰۴:۴۶ ب.ظ

امضای دیجیتال (Signing) در اپلیکیشن‌های اندرویدی فرآیندی است که به تایید اصالت و یکپارچگی فایل APK کمک می‌کند.

 

وقتی یک برنامه اندروید (فایل APK) ساخته می‌شود، نیاز است که امضا شود. این امضا برای موارد زیر ضروری است:

  1. تایید اصالت توسعه‌دهنده: نشان می‌دهد که این فایل APK از یک توسعه‌دهنده خاص آمده است.
  2. یکپارچگی فایل: تضمین می‌کند که فایل APK بعد از امضا تغییر نکرده است.
  3. انتشار در فروشگاه Google Play: برنامه‌ها باید امضا شوند تا در Google Play منتشر شوند.
  4. به‌روزرسانی برنامه: وقتی برنامه‌ای در دستگاه نصب می‌شود، نسخه‌های جدیدتر آن باید با همان کلید امضا شوند تا به‌روزرسانی انجام شود.

فایل‌های دخیل در فرآیند امضا

  1. Keystore File (.jks یا .keystore)

    • این فایل شامل کلید خصوصی شما است که برای امضای APK استفاده می‌شود.
    • این کلید محرمانه است و نباید در اختیار دیگران قرار بگیرد.
    • همراه با رمز عبور (password) از آن محافظت می‌شود.
  2. Certificate (گواهی)

    • هر کلید خصوصی یک گواهی عمومی دارد که شامل اطلاعاتی مانند نام توسعه‌دهنده، سازمان، و تاریخ انقضا است.
    • گواهی بخشی از امضای APK است.
  3. Manifest و Signature

    • در امضای V1، یک فایل META-INF/MANIFEST.MF و فایل‌های META-INF/CERT.SF و META-INF/CERT.RSA در APK قرار می‌گیرند که اطلاعات مربوط به امضا را ذخیره می‌کنند.
    • در امضاهای V2، V3 و V4، این اطلاعات در یک بخش خاص از APK ذخیره می‌شوند.

 

چرا از امضا استفاده می‌شود؟

  1. امنیت: اگر کسی فایل APK را بعد از امضا تغییر دهد، امضا باطل می‌شود و دستگاه اندروید از نصب آن جلوگیری می‌کند.
  2. اعتماد: کاربران می‌دانند که برنامه از یک توسعه‌دهنده مشخص آمده و توسط شخص ثالث تغییر نکرده است.
  3. سازگاری: امضا تضمین می‌کند که فقط نسخه‌های جدیدتر با همان کلید می‌توانند جایگزین نسخه‌های قدیمی شوند.

 

 

 

موافقین ۰ مخالفین ۰ ۰۳/۱۰/۲۹
میم دال

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی