Проблема с добавлением доверенного поставщика (SAML 2.0): не удается проанализировать метаданные поставщика услуг

Я получаю сообщение об ошибке в Novell iManager "XML неверно сформирован. Cvc-complex-type.2.4.a: Обнаружено недопустимое содержимое, начиная с элемента 'md: EncryptionMethod'. Один из '{" http: // www.w3.org/2000/09/xmldsig#":KeyInfo} 'ожидается. "при добавлении метаданных этого поставщика услуг:

<?xml version="1.0" encoding="UTF-8"?>
  <md:EntityDescriptor entityID="https://.../" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata">
    <md:SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol" WantAssertionsSigned="true" AuthnRequestsSigned="true"> 
      <md:KeyDescriptor use="encryption"> 
        <md:EncryptionMethod xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/> 
        <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> 
          <X509Data><X509Certificate>...</X509Certificate></X509Data>
       </KeyInfo> 
      </md:KeyDescriptor> 
      <md:AssertionConsumerService isDefault="true" index="0" Location="https://.." Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"/>
  </md:SPSSODescriptor> 
  <md:Organization>...</md:Organization> 
   ...
</md:EntityDescriptor>

Что я делаю в Novell iManager: IdentityServers -> Сервер идентификации DMZ AH -> Новый надежный провайдер -> Поставщик услуг -> Источник: текст метаданных

Странно то, что он жалуется на отсутствие элемента KeyInfo, хотя он здесь с правильным пространством имен. Есть идеи, почему это может быть?

Если я укажу сторонние метаданные отсюда: https://federation.njedge.net/metadata/njedge-fed-metadata.xml он говорит

"XML имеет неправильный формат. cvc-complex-type.2.4.a: Недействительный контент был обнаружен, начиная с элемента" Организация ". Один из" {"http://www.w3.org/2000/09/xmldsig # ": Подпись," urn: oasis: names: tc: SAML: 2.0: metadata ": Extensions," urn: oasis: names: tc: SAML: 2.0: metadata ": RoleDescriptor," urn: oasis: names: tc: SAML: 2.0: метаданные ": IDPSSODescriptor," urn: oasis: names: tc: SAML: 2.0: metadata ": SPSSODescriptor," urn: oasis: names: tc: SAML: 2.0: metadata ": AuthnAuthorityDescriptor," urn: oasis: names: tc: SAML: 2.0: метаданные ": AttributeAuthorityDescriptor," urn: oasis: names: tc: SAML: 2.0: metadata ": PDPDescriptor," urn: oasis: names: tc: SAML: 2.0: metadata ": AffiliationDescriptor} ' ожидается. "

Похоже, он ожидает определенного формата файла метаданных поставщика услуг, и, к сожалению, мне не удалось найти никакой информации о различных форматах метаданных SAML 2.0.


person YMC    schedule 15.11.2012    source источник


Ответы (1)


Похоже, было 2 проблемы: 1) Novell ожидает строгого порядка элементов 2) Он не распознает пространство имен по умолчанию, такое как <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">, вместо этого использует <somenamespace:KeyInfo xmlns:somenamespace="http://www.w3.org/2000/09/xmldsig#">

странный :)

person YMC    schedule 19.11.2012
comment
Вы делаете это в java? Я реализую аналогичное решение, в котором мне нужно проанализировать метаданные SP в моем приложении, чтобы извлечь такие детали, как подписание сертификата, конечная точка утверждения и т. Д. Известны ли вам какие-либо стандартные библиотеки Java для этого? - person Bhushan Karmarkar; 18.02.2020