Updated repo

This commit is contained in:
info4shajeer@gmail.com
2018-07-12 20:14:02 +05:30
parent 423531b92f
commit 8deb16fe7a
13 changed files with 0 additions and 477 deletions
+92
View File
@@ -0,0 +1,92 @@
package cordova.plugin.appSignature;
import org.apache.cordova.CordovaPlugin;
import org.apache.cordova.CallbackContext;
import org.apache.cordova.PluginResult;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.annotation.SuppressLint;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.Signature;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
/**
* This class echoes a string called from JavaScript.
*/
public class ReadAppSignature extends CordovaPlugin {
@Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
if (action.equals(Actions.GET_SIGNATURE)) {
this.getAppSignature(callbackContext);
return true;
}
return false;
}
private void getAppSignature(CallbackContext callbackContext) {
PluginResult pluginResult = new PluginResult(PluginResult.Status.OK, getAppSignature());
callbackContext.sendPluginResult(pluginResult);
}
@SuppressLint("PackageManagerGetSignatures")
public String getAppSignature() {
PackageInfo packageInfo;
try {
packageInfo = cordova.getActivity().getPackageManager().getPackageInfo(
cordova.getActivity().getPackageName(), PackageManager.GET_SIGNATURES);
//note sample just checks the first signature
for (Signature signature : packageInfo.signatures) {
// SHA1 the signature
LogUtils.LOGD(TAG, "getAppSignature() called : " + getSHA1(signature.toByteArray()));
return getSHA1(signature.toByteArray());
}
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return "";
}
//computed the sha1 hash of the signature
public static String getSHA1(byte[] sig) {
MessageDigest digest = null;
try {
digest = MessageDigest.getInstance("SHA1", "BC");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (NoSuchProviderException e) {
e.printStackTrace();
}
digest.update(sig);
byte[] hashtext = digest.digest();
return bytesToHex(hashtext);
}
//util method to convert byte array to hex string
public static String bytesToHex(byte[] bytes) {
final char[] hexArray = {'0', '1', '2', '3', '4', '5', '6', '7', '8',
'9', 'A', 'B', 'C', 'D', 'E', 'F'};
char[] hexChars = new char[bytes.length * 2];
int v;
for (int j = 0; j < bytes.length; j++) {
v = bytes[j] & 0xFF;
hexChars[j * 2] = hexArray[v >>> 4];
hexChars[j * 2 + 1] = hexArray[v & 0x0F];
}
return new String(hexChars);
}
interface Actions {
String GET_SIGNATURE = "getSignature";
}
}