Это мой код, чтобы подписать XML документ:xades4j как добавить скрепил
KeyingDataProvider kp = new FileSystemKeyStoreKeyingDataProvider(keyStoreType,
keyStorePath, certificateSelector, keyStorePasswordProvider,
entryPasswordProvider, returnFullChain);
XadesSigningProfile p = new XadesBesSigningProfile(kp);
XadesSigner signer = p.newSigner();
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
DocumentBuilder builder = factory.newDocumentBuilder();
docSource = builder.parse(new FileInputStream(pathToXmlFile));
docDest = builder.newDocument();
Node objContent = docDest.importNode(docSource.getDocumentElement(), true);
DataObjectDesc obj = new EnvelopedXmlObject(objContent, "text/xml", null);
new Enveloped(signer).sign(docSource.getDocumentElement());
Теперь, в тот же файл XML мне нужно добавить встречное подпись. Не могли бы вы дать мне несколько советов о том, как это сделать? На данный момент у меня нет никаких идей :(
Мой файл XML выглядит следующим образом:
<rootElement>
<A>
<A1>
</A1>
</A>
</rootElement>
После первой подписи у меня есть:
<rootElement>
<A>
<A1>
</A1>
</A>
<ds:Signature>
</ds:Signature>
</rootElement>
С наилучшими пожеланиями Джон С.
Спасибо. К сожалению, представленный образец показывает, как списать документ вместе с регулярным подписанием. Я уже подписал XML, и я хочу расширить его с помощью метки. Я нашел эту тему: http://stackoverflow.com/questions/14696429/xades-countersign-document, но на самом деле это не объясняет мне, как этого добиться. Я теперь мог быть глупым вопросом, но я начинаю в JAVA и не знаю, как заставить его работать. – user3805907
Вы можете попробовать использовать XadesSignatureFormatExtender напрямую - https://code.google.com/p/xades4j/wiki/SignatureEnrichment – lgoncalves