Поиск своего сертификата в CertificateFactory
От: cocos1d  
Дата: 14.10.13 11:26
Оценка:
Как такое вообще может быть?
В своей Activity перебираю все публичные ключи от своего пакета кодом ниже. Все ОК на всех эмуляторах и моих устройствах кроме третьего самсунга.
На самвысунге моего публичного ключа нет. Перебериаю все возможное, ошибка с отладочным сертификатом исключена. Где тут собака порылась?

PackageManager pm = getPackageManager();
String packageName = getPackageName();

PackageInfo pi = pm.getPackageInfo(packageName, PackageManager.GET_SIGNATURES);
Signature[] signatures = pi.signatures;

// Все все сигнатуры
for (Signature sig : signatures)
{
    byte[] bytes = sig.toByteArray();
    ByteArrayInputStream in = new ByteArrayInputStream(bytes);

    CertificateFactory certFactory = CertificateFactory.getInstance("X509");

    // Все все сертификаты
    Collection certs = certFactory.generateCertificates(in);
    for (Object cert : certs)
    {
        X509Certificate x509cert = (X509Certificate)cert;
        PublicKey pk = x509cert.getPublicKey();
        String publicKey = pk.toString();

// И нет такого publicKey, который ищется
    }
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.