Как подписать AuthnRequest с помощью модуля Apache mod_mellon - PullRequest
0 голосов
/ 27 июня 2019

у нас есть требование подписать SAML AuthnRequest перед отправкой в ​​IDP.мы используем модуль Apache mod_mellon для реализации SAML .Согласно документации, мы добавили ниже атрибут в XML-файле метаданных SP, но запрос все еще не подписан.

AuthnRequestsSigned = "true"

ниже метаданных SP для справки.

<EntityDescriptor entityID="https://foo.com" xmlns="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
  <SPSSODescriptor AuthnRequestsSigned="true" WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
    <KeyDescriptor use="signing">
      <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
        <ds:X509Data>
          <ds:X509Certificate>MIIC.....</ds:X509Certificate>
        </ds:X509Data>
      </ds:KeyInfo>
    </KeyDescriptor>
    <SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://foo.com/mellon/logout"/>
    <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://foo.com/mellon/postResponse" index="0"/>
</SPSSODescriptor>
</EntityDescriptor>

запрос все еще не подписан, когда мы обращаемся к приложению.Может кто-нибудь помочь, если они сталкивались с подобной проблемой?

Спасибо

1 Ответ

0 голосов
/ 28 июня 2019

Сигнатура создается с помощью закрытого ключа, а не с открытым ключом.

Метаданные SP здесь не используются.

Вам необходимо определить закрытый ключ в конфигурации mellon

Например

MellonSPPrivateKeyFile /etc/apache2/mellon/ssotest.key

См. https://github.com/UNINETT/mod_auth_mellon

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...