Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Александр Шишак  
#1 Оставлено : 6 июля 2023 г. 10:11:29(UTC)
Александр Шишак

Статус: Новичок

Группы: Участники
Зарегистрирован: 06.07.2023(UTC)
Сообщений: 1
Российская Федерация

Здравствуйте!
Пытаюсь создать электронную подпись для документа в соответствии с мануалами. Передаю в
Код:
header.insertSecurityHeader(doc)
Document и получаю ошибку:
Код:
[code=java]org.w3c.dom.DOMException: WRONG_DOCUMENT_ERR: A node is used in a different document than the one that created it.
	at java.xml/com.sun.org.apache.xerces.internal.dom.ParentNode.internalInsertBefore(ParentNode.java:355)
	at java.xml/com.sun.org.apache.xerces.internal.dom.ParentNode.insertBefore(ParentNode.java:286)
	at java.xml/com.sun.org.apache.xerces.internal.dom.NodeImpl.appendChild(NodeImpl.java:230)
	at org.apache.ws.security.util.WSSecurityUtil.prependChildElement(WSSecurityUtil.java:686)
	at org.apache.ws.security.util.WSSecurityUtil.findWsseSecurityHeaderBlock(WSSecurityUtil.java:780)
	at org.apache.ws.security.message.WSSecHeader.insertSecurityHeader(WSSecHeader.java:138)
[/code]
Версия Java 17. Пробовал даунгрейд до 11. Дополнительно пробовал создавать пустой проект (без Spring) и также создать пустую подпись - результат аналогичен.
Проблема в библиотеке wss4j из репозитория CryptoPro. При попытке заменить её на
Код:
<dependency>
            <groupId>org.apache.ws.security</groupId>
            <artifactId>wss4j</artifactId>
            <version>1.6.19</version>
        </dependency>

Из репозитория
Код:
<repository>
            <id>wso2</id>
            <url>https://maven.wso2.org/nexus/content/repositories/public/</url>
        </repository>

Создаётся проблема с дальнейшим использованием xmlsec и так далее. Подскажите, пожалуйста, в чём может быть проблема?

UPD:
Код:
public static Element prependChildElement(Element parent, Element child) {
        Node firstChild = parent.getFirstChild();
        return firstChild == null ? (Element)parent.appendChild(child) : (Element)parent.insertBefore(child, firstChild);
    }

child.jpg (21kb) загружен 5 раз(а).

Отредактировано пользователем 6 июля 2023 г. 10:44:35(UTC)  | Причина: Не указана

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.