title: Android Certificate Signature & App name
body: <p>I'm using Java (J2SE) to create a desktop application. It has a function that check if two unknown .apk files (for ex <strong>app1.apk</strong> and <strong>app2.apk</strong>) are same application or not. My idea is comparing the fingerprint (in file META-INF/CERT.RSA) and names of the two apps.  </p>
  
  <ul>
  <li>By using <strong>keytool</strong> (cmd: keytool -printcert -file .\META-INF\CERT.RSA), i can get meta information of signature inside the CERT.RSA file. However I cannot get those information by using java source code.  </li>
  <li>I also try using <strong>openssl</strong> to get the information, again I cannot have those information inside my source code to compare fingerprint of the two android apps.  </li>
  <li>By using normal Java, I have no idea how to extract the fingerprint in file CERT.RSA.  </li>
  </ul>
  
  <p>In addition, I also want to get the android app name which is defined in the file <em>strings.xml</em>. In particular, I read the <em>AndroidManifest.xml</em> first, in tag <strong>application</strong> I get the value of attribute <strong>android:label="@string/app_name"</strong>. Then i get the value of attribute <strong>app_name</strong> in file <em>strings.xml</em>. However the file is compiled in file <em>resources.arsc</em> which is an unreadable binary file.  </p>
  
  <p>Any solution for this idea or any other ideas for checking if two unknown .apk files are same app? I really appreciate your help.<br>
  Thanks</p>