Мне нужно создать свою собственную подпись XAdES для проекта, и все работает отлично, за исключением отдельных подписей. Насколько я понимаю, мне нужно добавить ссылку на объект XML, который укажет на контейнер, в котором хранится исходный документ. Я пробовал как с ResolverAnonymous, так и с ResolverLocalFileSystem.Добавить ссылку на Resolver для отдельной записи XAdES
XMLSignature sig = new XMLSignature(docToBeSigned, "", sigAlgorithm);
Element element = sig.getElement();
//adding signedinfo, keyinfo and xades properties in between
ResolverLocalFilesystem resolver = new ResolverLocalFilesystem();
//ResolverAnonymous resolver = new ResolverAnonymous(documentToSign);
sig.addResourceResolver(resolver);
sig.addDocument("DetachedObjectReference-1", null,
ESIGUtils.algorithmIDtoURN(hashAlgorithmID), /* it sends the corresponding SHA-1 URL */
SignedDataObject-Reference", null);
Element objeto = docToBeSigned.createElement("ds:Object");
objeto.setAttribute("Id", "Object-1");
element.appendChild(objeto);
sig.sign(privateKey);
return docToBeSigned;
ошибка я получаю следующим образом:
Original Exception was org.apache.xml.security.signature.ReferenceNotInitializedException: Could not find a resolver for URI DetachedObjectReference-1 and Base
Original Exception was org.apache.xml.security.signature.ReferenceNotInitializedException: Could not find a resolver for URI DetachedObjectReference-1 and Base
Original Exception was org.apache.xml.security.utils.resolver.ResourceResolverException: Could not find a resolver for URI DetachedObjectReference-1 and Base
Может кто-нибудь сказать, где моя ошибка?
Заранее благодарен!