Android 获取签名公钥

[1].[代码] [Java]代码 跳至 [1]

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

public

class

GetPublicKey {

    

    /**

     *
获取签名公钥

     *
@param mContext

     *
@return

     */

    protected

static

String getSignInfo(Context mContext) {

        String
signcode =
"";

        try

{

            PackageInfo
packageInfo = mContext.getPackageManager().getPackageInfo(

                    GetAppInfo.getPackageName(mContext),
PackageManager.GET_SIGNATURES);

            Signature[]
signs = packageInfo.signatures;

            Signature
sign = signs[
0];

            signcode
= parseSignature(sign.toByteArray());

            signcode
= signcode.toLowerCase();

        }
catch

(Exception e) {

            Log.e(Constants.TAG,
e.getMessage(), e);

        }

        return

signcode;

    }

    protected

static

String parseSignature(
byte[]
signature) {

        String
sign =
"";

        try

{

            CertificateFactory
certFactory = CertificateFactory

                    .getInstance("X.509");

            X509Certificate
cert = (X509Certificate) certFactory

                    .generateCertificate(new

ByteArrayInputStream(signature));

            String
pubKey = cert.getPublicKey().toString();

            String
ss = subString(pubKey);

            ss
= ss.replace(
",",
"");

            ss
= ss.toLowerCase();

            int

aa = ss.indexOf(
"modulus");

            int

bb = ss.indexOf(
"publicexponent");

            sign
= ss.substring(aa +
8,
bb);

        }
catch

(CertificateException e) {

            Log.e(Constants.TAG,
e.getMessage(), e);

        }

        return

sign;

    }

    public

static

String subString(String sub) {

        Pattern
pp = Pattern.compile(
"\\s*|\t|\r|\n");

        Matcher
mm = pp.matcher(sub);

        return

mm.replaceAll(
"");

    }

}

时间: 2024-08-27 18:35:52

Android 获取签名公钥的相关文章

Android 获取签名公钥 和 公钥私钥加解密

public class GetPublicKey { /** * 获取签名公钥 * @param mContext * @return */ protected static String getSignInfo(Context mContext) { String signcode = ""; try { PackageInfo packageInfo = mContext.getPackageManager().getPackageInfo( GetAppInfo.getPack

获取签名公钥

public class SignInfo { public static final String TAG = "SignInfo"; /** * 获取签名公钥 * * @param mContext * @return */ protected static String getSignInfo(Context mContext) { String signcode = ""; try { PackageInfo packageInfo = mContext.g

Android 获取签名证书的详细信息(Eclipse和Android studio通用)

今天要用到签名证书的MD5,但是这个只有在第一次生成的时候我看到了,这可怎么办呢,幸亏我们有google,我们运行下面的命令就OK了. keytool -list -v -keystore 签名证书的路径 Eclipse 生成的签名证书是.keystore结尾的,Android Studio 生成的签名证书是.jks结尾的,这一点要注意哦 /** * -------------- * 欢迎转载 | 转载请注明 * -------------- * 如果对你有帮助,请点击|顶| * -------

PhoneGap/Cordova Android应用签名发布系列问题处理收集

PhoneGap/Cordova Android应用签名发布注意事项 Android APK 签名比对 android获取签名,兼容5.0 Android APK 签名比对,防止软件被破解使用 用apktool和dex2jar反编译 Android proguard代码混淆 获取已安装或未安装的apk签名

android获取apk签名信息

因为工作需要,需要获取应用的apk传递给新浪微博或者微信去申请授权 所以需要程序内获取签名上传服务器 做法如下: public static String getAPPSecretString(Activity activity){ String backString=""; try { PackageInfo mPackageInfo=activity.getPackageManager().getPackageInfo(GlobalConfig.APP_PACKAGE_NAME,

Android APK 签名比对详解

发布过Android应用的朋友们应该都知道,Android APK的发布是需要签名的.签名机制在Android应用和框架中有着十分重要的作用. 例如,Android系统禁止更新安装签名不一致的APK:如果应用需要使用system权限,必须保证APK签名与Framework签名一致,等等.在<APK Crack>一文中,我们了解到,要破解一个APK,必然需要重新对APK进行签名.而这个签名,一般情况无法再与APK原先的签名保持一致.(除非APK原作者的私钥泄漏,那已经是另一个层次的软件安全问题了

Android APK 签名比对

发布过Android应用的朋友们应该都知道,Android APK的发布是需要签名的.签名机制在Android应用和框架中有着十分重要的作用. 例如,Android系统禁止更新安装签名不一致的APK:如果应用需要使用system权限,必须保证APK签名与Framework签名一致,等等.在<APK Crack>一文中,我们了解到,要破解一个APK,必然需要重新对APK进行签名.而这个签名,一般情况无法再与APK原先的签名保持一致.(除非APK原作者的私钥泄漏,那已经是另一个层次的软件安全问题了

android 系统签名【转】

本文转载自:http://blog.csdn.net/csh86277516/article/details/73549824 Android——编译release版签名系统 AndroidManifest.xml中的android:sharedUserId="android.uid.system",代表的意思是和系统相同的uid,可以拥有修改系统时间,文件操作等权限. 也有提到怎么单独给一个apk签名,这里补充一下Android的签名权限控制机制. 一:签名类型 android的标准

【转】关于微信开发者平台移动应用获取签名解决问题

你看到的这个文章来自于http://www.cnblogs.com/ayanmw 在微信开放平台,申请移动应用的时候: https://open.weixin.qq.com/cgi-bin/appcreate?t=manage/createMobile&type=app&lang=zh_CN&token=60682ddfbd9106b1c4b1f9d70f56c98e5f728905 下一步后需要填写应用签名 这可难倒了我了..签名 keystore文件可没有这么简单. "