إذا كنت من مطوّري تطبيقات Android الذين يديرون مفاتيح التوقيع الخاصة بهم، فإنّ الملف المرجعي لشهادة SHA-256 هو هوية تطبيقك الفريدة والمشفّرة. يوضّح لك هذا الدليل ثلاث طرق للحصول عليها من ملف APK موقَّع أو من ملف تخزين المفاتيح الأصلي.
كيفية استرداد SHA-256 من ملف APK
تُعد هذه الطرق مفيدة إذا كان لديك ملف APK النهائي والموقَّع ولكنك غير قادر على الوصول بسهولة إلى ملف تخزين المفاتيح الأصلي أو كلمات المرور الخاصة به.
الطريقة 1(أ): استخدام أداة apksigner (يُنصح بها لملفات APK)
تُعدّ أداة apksigner الطريقة الأحدث والأكثر موثوقية لاستخراج معلومات التوقيع من حِزمة APK، بغض النظر عمّا إذا كانت تستخدم مخططات التوقيع V1 أو V2 أو V3 أو V4.
الخطوة 1: تحديد موقع أداة apksigner
(مثال: /Users/username/Library/Android/sdk/build-tools/34.0.0/apksigner)
الخطوة 2: تنفيذ الأمر
افتح الوحدة الطرفية أو موجِّه الأوامر، وانتقِل إلى الدليل الذي تم حفظ حزمة APK فيه، ونفِّذ الأمر التالي:
apksigner verify --print-certs <path/to/your/app.apk>
الخطوة 3: تحديد موقع الملف المرجعي لشهادة SHA-256
ستعرض النتيجة تفاصيل الشهادة لكل موقِّع. ابحث عن السطر الذي يحمل التسمية SHA-256 digest:
Signer #1 certificate SHA-256 digest:
a32a43cd459f7ce6b82c552f5d876989d53e6af1c0b2d35fb677b51a1dc4f0e5
سلسلة الأحرف السداسية العشرية الطويلة المفصولة بنقطتين هي الملف المرجعي لشهادة SHA-256.
الطريقة 1(ب): استخدام أداة keytool على حزمة APK
الخطوة 1: تحديد موقع أداة keytool وملف APK
تأكَّد من معرفة موقع كلّ من أداة keytool (وهي جزء من تثبيت JDK) وملف APK الموقَّع.
الخطوة 2: تنفيذ الأمر
استخدِم الأمر التالي مع تحديد ملف APK الموقَّع كملف لتخزين المفاتيح:
keytool -printcert -jarfile <path/to/your/app.apk>
الخطوة 3: تحديد موقع الملف المرجعي لشهادة SHA-256
ستتضمّن النتيجة قسم "الملفات المرجعية للشهادات". ابحث عن سطر SHA-256.
استرداد SHA-256 من ملف تخزين مفاتيح
هذه هي الطريقة الفعلية لاستخراج الملف المرجعي للشهادة من ملف تخزين المفاتيح الأصلي على أي نظام تشغيل.
هذه هي الطريقة الفعلية لاستخراج الملف المرجعي للشهادة من ملف تخزين المفاتيح الأصلي على أي نظام تشغيل.
الطريقة 2: استخدام أداة keytool العادية
الخطوة 1: تحديد موقع الأدوات وملف تخزين المفاتيح
تحتاج إلى:
- ملف تخزين المفاتيح: هو الملف المستخدَم لتوقيع تطبيقك (.jks أو .keystore). يجب أن تعرف مساره وكلمة المرور والاسم المستعار للمفتاح بداخله.
- أداة keytool: يتم تضمين هذه الأداة مع حزمة تطوير Java (JDK).
| نظام التشغيل | موقع أداة Keytool |
| Windows | عادةً ما تكون في دليل bin في تثبيت JDK (على سبيل المثال، C:\Program Files\Java\jdk-xx\bin\). |
| macOS / Linux | تتوفّر عادةً مباشرةً في الوحدة الطرفية بعد تثبيت JDK. |
الخطوة 2: الانتقال إلى الموقع الصحيح
افتح الوحدة الطرفية أو موجّه الأوامر. لتسهيل الخطوة التالية، يمكنك الانتقال إلى الدليل الذي يحتوي على ملف تخزين المفاتيح:
مثال: استبدال بالمسار الفعلي
cd /path/to/your/keystore/directory
الخطوة 3: تنفيذ الأمر
استخدِم الأمر التالي لتوجيه أداة keytool إلى إدراج تفاصيل الشهادة في الوضع المفصّل.
ملاحظة: في حال عدم التعرّف على أداة keytool، يجب تحديد المسار الكامل للأداة (على سبيل المثال، /path/to/jdk/bin/keytool).
keytool -list -v -keystore [your_keystore_name.jks] -alias [your_key_alias]
- استبدِل [your_keystore_name.jks] بالاسم الفعلي لملفك.
- استبدِل [your_key_alias] بالاسم المستعار المحدّد لمفتاح التوقيع (على سبيل المثال، mykey).
الخطوة 4: تحديد موقع الملف المرجعي لشهادة SHA-256
ستطلب منك الأداة إدخال كلمة مرور ملف تخزين المفاتيح. بعد إدخالها، ستعرض النتيجة تفاصيل الشهادة.
ابحث عن قسم الملفات المرجعية للشهادات:
الملفات المرجعية للشهادات:
SHA1: XX:XX:XX:XX:XX:...
SHA256: 0A:B3:C6:D9:E2:F5:81:B4:C7:D0:E3:F6:92:A5:B8:C1:D4:E7:F0:83:96:A9:BC:D1:E4:F7:03:96:A9:BC:D1:E4
Signature algorithm name: SHA256withRSA
...
سلسلة الأحرف السداسية العشرية الطويلة المفصولة بنقطتين بجانب SHA256: هي الملف المرجعي لشهادة SHA-256 العامة.