Автор: basid ![Перейти к цитате Перейти к цитате](/forum2/Themes/soclean/icon_latest_reply.gif)
Наймите толкового инструментальщика (devops-а) и пусть он объяснит вашим разработчикам про разницу между компиляцией, сборкой и развёртыванием приложения.
Про компиляцию и сборку мы не говорили.
Итак, чтобы было понятно. У нас система работает второй год. Используется подписание сообщений, установление tls. Проблем ни с чем нет. И только с шифрованием так и не смогли разобраться. Была возможность обходиться без шифрования, обходились. Сейчас оно необходимо.
Убрали все крипто-библиотеки из приложения, поставили на сервер. Пробуем функционал.
1. Если не делать модуль для jboss совсем, то ошибка возникает уже при деплое, ругается на все подряд не найденные классы.
2. Если добавляем библиотеки ASN1P и asn1rt в приложение, то подписание и установление tls работает, но при шифровании происходит ClassCastException
Цитата:ru.CryptoPro.JCP.ASN.PKIX1Explicit88.AlgorithmIdentifier cannot be cast to ru.CryptoPro.JCP.ASN.PKIX1Explicit88.AlgorithmIdentifier
3. Если не добавляем библиотека ASN1P и asn1rt в приложение и в модулях для jboss не указаны классы ASN, то ошибка происходит уже при подписании сообщения:
Цитата:Caused by: java.lang.NoClassDefFoundError: ru/CryptoPro/JCP/ASN/CryptographicMessageSyntax/ContentInfo
4. Если не добавляем библиотека ASN1P и asn1rt в приложение и указываем классы в модуле, то при том же подписании ошибка:
Цитата:Caused by: java.lang.LinkageError: loader constraint violation: when resolving field "contentType" the class loader (instance of org/jboss/modules/ModuleClassLoader) of the referring class, ru/CryptoPro/JCP/ASN/CryptographicMessageSyntax/ContentInfo, and the class loader (instance of sun/misc/Launcher$ExtClassLoader) for the field's resolved type, ContentInfo, have different Class objects for that type
Понимаем, что эта ошибка потенциально может быть, когда где-то 2 разных инстанса столкнулись, но вот только где? На сервере библиотеки лежат в одном экземпляре, в приложение они не включены.
5. В IDE при запуске тестов все работает: и tls, и подписание, и шифрование.
6. Пробовали шифровать с использованием CAdES, но не на все сертификаты партнеров шифруется, на некоторых ругается на невозможность выработать KeyAgreement
И в сухом остатке опять вопрос, можно ли что-нибудь сделать и куда посмотреть?
Тесты на сервере запускали, verify делали. Все хорошо.