Назад | Перейти на главную страницу

Сертификаты при использовании cas + apache (mod_auth_cas)

Я использую аутентификацию CAS на одном сервере, а веб-сайт, который должен быть защищен на отдельном сервере в моей локальной сети.

Когда я запускал и CAS, и Apache на одном сервере, они работали нормально. Когда я разделил их на два разных физических хоста, они больше не работают.

CAS-вход в систему работает нормально, но когда меня перенаправляют обратно на мой apache после входа в систему, я получаю следующее в журнале apache:

"mod_auth_cas: Could not perform SSL handshake with example.casserver.com (check CASCertificatePath)".

Я проверил CASCertificatePath и убедился, что он указывает на правильный сертификат (сертификат CAS-сервера). Я получил сертификат, скопировав его с cas-host на apache-host, и я убедился, что файл доступен для чтения, а URL-адрес разрешен и правильный.

Кто-нибудь знает, что может быть не так?

Поскольку я делаю это только в ограниченной локальной сети, нет смысла привлекать CA, поэтому сертификат, используемый CAS-сервером, представляет собой простой самоподписанный сертификат, созданный jdk-tool:

keytool -genkey -keyalg "RSA" -dname

Это проблема? Требует ли mod_auth_cas, чтобы сертификат был подписан ЦС, например, путем создания моего собственного ЦС для сети с помощью TinyCA2?

Я нашел решение своей проблемы. Моя конфигурация apache и cas была правильной, но ошибка в OpenSKD помешала правильному извлечению сертификата в TLSv1. Я обнаружил это при отладке своих портов SSL с помощью «openssl s_client», который является отличным инструментом для отладки в подобных ситуациях.

Я удалил OpenSDK, установил SunSDK и вместо этого повторно импортировал сертификаты в доверенный сервер sun, и все работает как шарм.