खोज…


वेरिफिकेशन ऐप सिग्नेचर - टैम्पर डिटेक्शन

यह तकनीक यह बताती है कि यह कैसे सुनिश्चित करें कि आपके .apk को आपके डेवलपर प्रमाणपत्र के साथ हस्ताक्षरित किया गया है, और इस तथ्य का लाभ उठाता है कि प्रमाणपत्र सुसंगत है और केवल उसी तक आपकी पहुंच है। हम इस तकनीक को 3 सरल चरणों में तोड़ सकते हैं:

  • अपना डेवलपर प्रमाणपत्र हस्ताक्षर ढूंढें।
  • अपने ऐप्लिकेशन में एक स्ट्रिंग स्थिरांक में अपने हस्ताक्षर एम्बेड करें।
  • जांचें कि रनटाइम पर हस्ताक्षर हमारे एम्बेडेड डेवलपर हस्ताक्षर से मेल खाते हैं।

यहाँ कोड स्निपेट है:

private static final int VALID = 0;
private static final int INVALID = 1;

public static int checkAppSignature(Context context) {

try {
      PackageInfo packageInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES);

      for (Signature signature : packageInfo.signatures) {

        byte[] signatureBytes = signature.toByteArray();

        MessageDigest md = MessageDigest.getInstance("SHA");

        md.update(signature.toByteArray());

        final String currentSignature = Base64.encodeToString(md.digest(), Base64.DEFAULT);

        Log.d("REMOVE_ME", "Include this string as a value for SIGNATURE:" + currentSignature);

        //compare signatures
        if (SIGNATURE.equals(currentSignature)){
          return VALID;
        };
      }
    } catch (Exception e) {
        //assumes an issue in checking signature., but we let the caller decide on what to do.
    }

    return INVALID;

}


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow