2013-08-15 2 views

ответ

1

Открытый ключ хранится в META-INF/CERT.RSA внутри apk.

+0

Спасибо, Мах, так или иначе, чтобы получить его через Android API? Вопрос не был достаточно ясным. – wez

3

Чтобы получить публичный сертификат вам, что вам нужно, чтобы получить его с помощью PackageManager из приложения:

PackageInfo packageInfo = null; 

try { 
    packageInfo = getPackageManager().getPackageInfo(getPackageName(), 
              PackageManager.GET_SIGNATURES); 

    Signature[] signatures = packageInfo.signatures; 
    byte[] cert = signatures[0].toByteArray(); 
    InputStream input = new ByteArrayInputStream(cert); 

    CertificateFactory cf = CertificateFactory.getInstance("X509"); 
    X509Certificate c = (X509Certificate)cf.generateCertificate(input); 

    PublicKey key = c.getPublicKey(); 

    ... 

} catch (Exception e) { 
     e.printStackTrace(); 
} 
+0

Спасибо Marcin, как вы используете открытый ключ для генерации сертификата стиля rfc? Я хотел бы сравнить один из java api и экспортируемый keytool, или просто любой метод для двойной проверки. Приветствия. – wez

Смежные вопросы