Spec-Zone .ru
спецификации, руководства, описания, API
След: Средства защиты в Java SE
Урок: Генерирование и Проверка Подписей
Раздел: Проверка Цифровой подписи
Проверьте Подпись
Домашняя страница > Средства защиты в Java SE > Генерирование и Проверка Подписей

Проверьте Подпись

Вы добавили код к VerSig программа к

Можно теперь продолжить, чтобы сделать проверку.

Инициализируйте Объект Подписи для Проверки

Как с генерацией подписи, подпись проверяется при использовании экземпляра Signature class. Вы должны создать a Signature возразите, что использует тот же самый алгоритм подписи, как использовался, чтобы генерировать подпись. Алгоритм, используемый GenSig программа была алгоритмом SHA1withDSA от провайдера SUN.

Signature sig = Signature.getInstance("SHA1withDSA", "SUN");

Затем, Вы должны инициализировать Signature объект. Метод инициализации для проверки требует открытого ключа.

sig.initVerify(pubKey);

Предоставьте Объект Подписи Данные, которые будут Проверены, Вы теперь должны предоставить Signature объект с данными, для которых была сгенерирована подпись. Эти данные находятся в файле, имя которого было определено как третий параметр командной строки. Когда Вы сделали, подписываясь, считайте в данных один буфер за один раз, и предоставьте это к Signature объект, вызывая update метод.

FileInputStream datafis = new FileInputStream(args[2]);
BufferedInputStream bufin = new BufferedInputStream(datafis);

byte[] buffer = new byte[1024];
int len;
while (bufin.available() != 0) {
    len = bufin.read(buffer);
    sig.update(buffer, 0, len);
};

bufin.close();

Проверьте Подпись

Как только Вы снабдили всеми данными к Signature объект, можно проверить цифровую подпись тех данных и сообщить о результате. Вспомните, что предполагаемая подпись была считана в вызванный байтовый массив sigToVerify.

boolean verifies = sig.verify(sigToVerify);

System.out.println("signature verifies: " + verifies);

verifies значение будет true если предполагаемая подпись (sigToVerify) фактическая подпись указанного файла данных, сгенерированного закрытым ключом, соответствующим открытому ключу pubKey.


Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Введите Байты Подписи
Следующая страница: Скомпилируйте и Выполнение Программа