Сертификат парсера в андроид - PullRequest
2 голосов
/ 27 февраля 2012

Интересно, если я пропускаю какой-то фрагмент кода в этом примере. Я получаю сообщение об ошибке компиляции в certHeader, certFooter в этом классе. Если кто-то может дать мне краткое представление об этом, которое будет полезно. у одного есть лучший пример парсера сертификатов, который будет полезен. Я использую этот пример для разбора сертификата.

try 
{ 
    String abc = "-----BEGIN CERTIFICATE-----\n" + "ALneIwerZ5Nu+z1Yjvdco9sOHfkhYW4nL+FIlGDGIS +YsyevB8YN2hBnog7gtQ6PB+sVF6o/1UdU\n" + // lines deleted for brevity "rchFUEChHZ5G7AAk02K7/iyqITc/IPNHHpilTg/NB6QhF9s=\n" + "-----END CERTIFICATE-----";

int headerIndex = abc.indexOf(certHeader); 
    if (headerIndex == -1) 
    {
        throw new CertificateParsingException("cannot find BEGIN CERTIFICATE");
        }
    int startIndex = headerIndex + certHeader.length();

int endIndex = abc.indexOf(certFooter);
if (endIndex == -1) 
{
    throw new CertificateParsingException("cannot find END CERTIFICATE"); }

String cert = abc.substring(startIndex, endIndex);
byte[] certBytes = cert.getBytes();

InputStream in = new Base64InputStream(new ByteArrayInputStream(certBytes));

CertificateFactory certFact = CertificateFactory.getInstance ("X.509");
Certificate certGen = certFact.generateCertificate(in);
X509Certificate x509 = (X509Certificate)
certGen; 
}
catch (Exception e) 
{ 
    Log.e("testapp", "exception: " + e.getMessage());
    } 

1 Ответ

0 голосов
/ 27 февраля 2012

certHeader и certFooter должны быть переменными типа int.Из того, что вы нам показали, не похоже, что вы их где-либо объявили.

Из документации String.indexOf :

Возвращаетиндекс в этой строке первого вхождения указанного символа.Если в последовательности символов, представленной этим объектом String, встречается символ со значением ch, то возвращается индекс (в единицах кода Unicode) первого такого вхождения.Для значений ch в диапазоне от 0 до 0xFFFF (включительно) это наименьшее значение k такое, что:

this.charAt(k) == ch
...