Несколько сертификатов (подпись и шифрование) для Идентификационного Провайдера - PullRequest
0 голосов
/ 22 декабря 2018

Я хочу создать метаданные с несколькими сертификатами поставщиков услуг ( подпись и шифрование ) для OneLogin SAML .Но я не знаю, какие параметры настройки должны быть установлены для этого.

Я использую ruby-saml gem.И мои текущие настройки следующие:

signing_pem = File.read 'signing.pem'
encryption_pem = File.read 'encryption.pem'

settings = OneLogin::RubySaml::Settings.new
settings.single_logout_service_url = "https://sp.com/slo"
settings.assertion_consumer_service_url = "https://sp.com/callback"
settings.issuer = "myissuer"
settings.idp_sso_target_url = 'https://idp.com/redirect/sso'
settings.idp_slo_target_url = 'https://idp.com/redirect/sls'
settings.idp_cert_multi = { signing: [signing_pem], encryption: [encryption_pem] }
settings.security[:authn_requests_signed]   = true
settings.security[:logout_requests_signed]  = true
settings.security[:logout_responses_signed] = true
settings.security[:want_assertions_signed]  = true
settings.security[:metadata_signed]         = true
settings.security[:want_assertions_encrypted] = true

Следующий код используется для генерации метаданных

OneLogin::RubySaml::Metadata.new.generate settings

Я получаю метаданные без каких-либо сертификатов

"<?xml version='1.0' encoding='UTF-8'?><md:EntityDescriptor 
ID='_eda16671-6d18-4273-b295-3cdd94f9886c' entityID='myissuer' 
xmlns:md='urn:oasis:names:tc:SAML:2.0:metadata'><md:SPSSODescriptor 
AuthnRequestsSigned='true' WantAssertionsSigned='true' 
protocolSupportEnumeration='urn:oasis:names:tc:SAML:2.0:protocol'> 
<md:SingleLogoutService 
Binding='urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect' 
Location='https://sp.com/auth/slo' 
ResponseLocation='https://sp.com/auth/slo'/> 
<md:AssertionConsumerService 
Binding='urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST' 
Location='https://sp.com/auth/callback' index='0' isDefault='true'/> 
</md:SPSSODescriptor></md:EntityDescriptor>"

Также я попытался создать метаданные непосредственно с веб-сайта SAMLTool.И нет никакой возможности ввести различные сертификаты для подписи и шифрования

1 Ответ

0 голосов
/ 21 февраля 2019

Атрибуты настроек поставщика услуг:

settings.certificate = "public cert" # используется для расшифровки ответа SAML

settings.private_key = "private cert" # используется для расшифровки ответа SAML

settings.certificate_new = "public cert" # используетсядля ролловера сертификатов отображается как вторичный сертификат в файле метаданных, чтобы системы Idp могли его забрать

Я не думаю, что есть функция для нескольких сертификатов SP, по крайней мере, я не знаю об этом

...