Advertisement
hok00age

Android Get Certificate Function

Mar 23rd, 2014
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.32 KB | None | 0 0
  1.     private String getCertificate() {
  2.         String certificate = null;
  3.         PackageManager pm = this.getPackageManager();
  4.         String packageName = this.getPackageName();
  5.         int flags = PackageManager.GET_SIGNATURES;
  6.         PackageInfo packageInfo = null;
  7.         try {
  8.             packageInfo = pm.getPackageInfo(packageName, flags);
  9.         } catch (NameNotFoundException e) {
  10.  
  11.         }
  12.         Signature[] signatures = packageInfo.signatures;
  13.         byte[] cert = signatures[0].toByteArray();
  14.         InputStream input = new ByteArrayInputStream(cert);
  15.         CertificateFactory cf = null;
  16.         try {
  17.             cf = CertificateFactory.getInstance("X509");
  18.  
  19.         } catch (CertificateException e) {
  20.             e.printStackTrace();
  21.         }
  22.         X509Certificate c = null;
  23.         try {
  24.             c = (X509Certificate) cf.generateCertificate(input);
  25.         } catch (CertificateException e) {
  26.  
  27.         }
  28.         try {
  29.             MessageDigest md = MessageDigest.getInstance("SHA1");
  30.             byte[] publicKey = md.digest(c.getPublicKey().getEncoded());
  31.             StringBuffer hexString = new StringBuffer();
  32.             for (int i = 0; i < publicKey.length; i++) {
  33.                 String appendString = Integer.toHexString(0xFF & publicKey[i]);
  34.                 if (appendString.length() == 1)
  35.                     hexString.append("0");
  36.                 hexString.append(appendString);
  37.             }
  38.             certificate = hexString.toString();
  39.         } catch (NoSuchAlgorithmException e1) {
  40.  
  41.         }
  42.         return certificate + ";" + packageName;
  43.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement