【问题标题】:How secure is the Android apk certificateAndroid apk证书的安全性如何
【发布时间】:2012-08-17 17:03:04
【问题描述】:

我的应用程序中有一段代码在运行时检索应用程序证书并将其用作加密某些机密信息的密钥。

某些攻击者是否有可能通过反编译我的代码来获得该证书byte[],还是该证书仅对我的应用程序可见?

这是我获得证书的方式:

    PackageManager pm = this.getPackageManager();
    String packageName = this.getPackageName();
    int field = PackageManager.GET_SIGNATURES;
    PackageInfo packageInfo;

    packageInfo = pm.getPackageInfo(packageName, field);

    Signature[] signatures = packageInfo.signatures;

    // and here we have the DER encoded X.509 certificate
    byte[] certificate = signatures[0].toByteArray()

【问题讨论】:

    标签: android security certificate apk signature


    【解决方案1】:

    PackageInfo 签名是公钥,

    这不是私钥。您手机上安装的任何应用都可以访问此密钥。

    【讨论】:

      【解决方案2】:

      申请证书是公开的;用于签署应用程序的私钥永远不会离开您的财产(除非您放弃它)。不能从公钥重建私钥。他们能够解密您的机密信息的唯一方法是通过某种蛮力尝试,最终没有任何防御措施。对你来说幸运的是,进行这种蛮力尝试的代价是如此之大,以至于除非他们认为里面有核秘密等,否则没有人会尝试这样做。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-12
        • 2013-06-25
        • 2011-04-28
        • 1970-01-01
        • 2012-03-13
        • 1970-01-01
        相关资源
        最近更新 更多