powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Почему проверка ЭЦП в первом варианте выдает true а во втором false?
1 сообщений из 1, страница 1 из 1
Почему проверка ЭЦП в первом варианте выдает true а во втором false?
    #38946286
created4dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
//Вариант 1

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
String xml=readFileAsString("test.xml");
Document doc = parseDocument(xml);
Element nscontext = XMLUtils.createDSctx(doc, "ds", "http://www.w3.org/2000/09/xmldsig#");
NodeList list = XPathAPI.selectNodeList(doc, "//ds:Signature", nscontext);
Element sigElement = (Element) list.item(list.getLength() - 1);
XMLSignature signature = new XMLSignature(sigElement, "");
org.apache.xml.security.keys.KeyInfo ki = signature.getKeyInfo();
X509Certificate certKey = null;
certKey = ki.getX509Certificate();
System.out.println(signature.checkSignatureValue(certKey));



//Вариант 2

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
//Строки берутся из этого же файла "test.xml"
String cert="...";  //Строчка берется из <ds:X509Certificate>
String data="...";  //Строчка берется из <ds:DigestValue>
String sign="...";  //Строчка берется из <ds:SignatureValue>
Certificate certificate = CertificateFactory.getInstance("X509").generateCertificate(new ByteArrayInputStream(Base64.decode(cert)));
PublicKey publicKey=certificate.getPublicKey();
Signature signature2 = Signature.getInstance(publicKey.getAlgorithm());		
signature2.initVerify(publicKey);
signature2.update(Base64.decode(data));
System.out.println(signature2.verify(Base64.decode(sign)));



В чем подвох? В чем принципиальное различие XMLSignature и Signature? Один и тот же файл, а результаты разные(в первом выдает - true, во втором - false).
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Почему проверка ЭЦП в первом варианте выдает true а во втором false?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]