В принципе, это проблема keytool, не связанная с Shibboleth, но, вероятно, было бы полезно понять, куда я пытаюсь добраться (перейдите к битам полужирным , если Shibboleth вещи для тебя ничего не значат):
Я пытаюсь настроить конфигурацию Shibboleth SSO. IdP уже был создан, и я установил SP, чтобы поговорить с ним. Пока (после большого взлома) все хорошо - SP (связанный с обратным прокси-сервером Apache) перехватывает вызовы к защищенным ресурсам и правильно перенаправляет на IdP, который представляет страницу входа. После входа в систему IdP отвечает, передавая SP токен.
Затем SP должен связаться с IdP, чтобы преобразовать токен в атрибуты, действительные для лица, вошедшего в систему, но здесь IdP жалуется, что сообщение не соответствует требованиям безопасности.
Насколько я могу судить, это связано с тем, что tomcat не принимает сертификат SP, который был самоподписан.
Вместо этого я пытаюсь создать сертификат CA и использовать его для подписи сертификата . Я добавил сертификат CA в $ JAVA_HOME / jre / lib / security / cacerts, поэтому keytool должен доверять ему, но затем, когда я пытаюсь импортировать подписанный сертификат SP в хранилище ключей, я получаю сообщение об ошибке:
ошибка keytool: java.security.SignatureException: Подпись не совпадает.
Я использую команду импорта:
keytool -import -v -alias sp_signed_cert -keystore idp.jks -trustcacerts -file server.crt
где server.crt - подписанный сертификат SP.
Почему я получаю эту ошибку и что я могу с этим сделать?
Единственные варианты, которые я, кажется, оставили:
- поставьте apache перед Tomcat, на котором запущен IdP, и используйте его параметр "option_no_ca", чтобы иметь возможность использовать самозаверяющий сертификат,
- заплатить за известный CA для подписи сертификата (хотя не совсем подходит для проверки концепции)