CA Siteminder, Agent.Init() нерешительно завершается ошибкой

При использовании CA Siteminder JAVA SDK API мы заметили проблему, заключающуюся в том, что иногда происходит случайный сбой инициализации. Также повторная инициализация происходит позже без изменений в системе. Это немного тревожно и неожиданно. Поскольку AgentAPI в основном подключается к серверу политики, у него не будет проблем с ресурсами (например, с системными портами), но проблема все же возникает. Кто-нибудь когда-нибудь замечал такое поведение с CA Siteminder?


person Soumen    schedule 22.06.2011    source источник
comment
Используете ли вы чистый API-интерфейс агента Java или API-интерфейс агента на основе JNI? Я считаю, что есть два. Кроме того, как вы это используете? Siteminder загружает специальный агент? Если это так, вероятно, он использует JNI для загрузки вашего кода. Я видел, как мой загружен несколько раз. Кажется, что через какое-то время он выгружается и перезагружается. Я действительно не вижу в этом проблемы, пока вы можете очищать ресурсы. помимо этого - как init терпит неудачу? вы получаете какие-либо сообщения журнала? Вы делаете что-нибудь в своем init(), чтобы вызвать потенциальные сбои?   -  person Trever Shick    schedule 06.07.2011
comment
Я использую Java Agent API, а не JNI. Что я делаю, так это подключаюсь к серверу политики Siteminder, используя API агента Java. Иногда вызов Agent.Init() не может правильно инициализироваться и отправляет результат ошибки. Довольно странное поведение, потому что во многих случаях он работает правильно   -  person Soumen    schedule 06.07.2011
comment
# 1 Просто для ясности ... Это ВАШ метод init (), который не работает в вашем агенте, верно? # 2 Можете ли вы опубликовать свой код init()? # 3 Является ли ваш код Java автономным кодом или загружается веб-агентом случайно? Если он загружается веб-агентом, то он загружается через JNI, и методы инициализации вызываются только при загрузке JNI, а не тогда, когда вы могли бы ожидать. У меня была аналогичная проблема с пользовательской схемой аутентификации, которую я написал, где init() иногда не вызывался, а иногда вызывался.   -  person Trever Shick    schedule 09.07.2011


Ответы (1)


Наконец, команда CA Siteminder разобралась с этим. Причина, указанная выше, заключалась в генераторе случайных чисел внутри рукопожатия ssl. Генератору случайных чисел потребовалось больше времени, чтобы получить определенную энтропию, из-за которой сервер истекал. Это интересный случай, и предложенное решение заключалось в использовании /dev/urandom вместо /dev/random для получения быстрого ГСЧ.

person Soumen    schedule 21.07.2011