2016-06-27 5 views
0

Ich versuche, das browserseitige Zertifikat auf dem Shibboleth Service Provider (sp) zu aktualisieren. Das vorhandene Setup enthält ein einzelnes Zertifikat sowohl in der Datei shibboleth2.xml als auch in der Datei sp-metadata.xml. etwas Snippets aus der Umsetzung ist wie folgt:SAML2 - Upgrade SP mit Zwischenzertifikat

shibboleth2.xml:

<CredentialResolver type="Chaining"> 
    <CredentialResolver type="File" key="sp-key.pem" certificate="sp-cert.pem"/> 
</CredentialResolver> 

sp-metadata.xml:

<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> 
     <ds:KeyName>sp.com</ds:KeyName> 
     <ds:X509Data> 
      <ds:X509SubjectName>CN=sp.com,C=US</ds:X509SubjectName> 
     <ds:X509Certificate>ABCxyz 
        az1234 
     </ds:X509Certificate> 
    </ds:X509Data> 
</ds:KeyInfo> 

Die Datei sp-cert.pem in shibboleth2.xml erwähnt ist etwas wie folgt:

-----BEGIN CERTIFICATE----- 
ABCxyz 
az1234 
-----END CERTIFICATE----- 

Jetzt habe ich ein neues Zertifikat, das ein Domai enthält generiert n-Zertifikat (cert-sp-dom.pem) für sp.com und ein Zwischenzertifikat (sp-cert-int.pem), was wie folgt:

sp-cert-dom.pem

-----BEGIN CERTIFICATE----- 
abcdef 
123456 
-----END CERTIFICATE----- 

sp-cert-int.pem

-----BEGIN CERTIFICATE----- 
UVWXYZ 
xa9900 
-----END CERTIFICATE----- 

ich habe kombiniert sowohl die Zertifikate in einer einzigen Datei (sp-Datei cert1.pem) wie folgt:

-----BEGIN CERTIFICATE----- 
abcdef 
123456 
-----END CERTIFICATE----- 
-----BEGIN CERTIFICATE----- 
UVWXYZ 
xa9900 
-----END CERTIFICATE----- 

Dann habe ich aktualisiert shibboleth2.xml (nachdem er alle Beteiligten über die Änderung benachrichtigt) auf das neue Zertifikat Punkt:

<CredentialResolver type="Chaining"> 
    <CredentialResolver type="File" key="sp-key1.pem" certificate="sp-cert1.pem"/> 
</CredentialResolver> 

Jedoch habe ich, um herauszufinden, bin stecken versuchen, wie der sp-metadata.xml bearbeiten das neue Zertifikat. Jetzt habe ich die folgenden Fragen:

1. Muss ich wirklich sowohl Domain-und Zwischenzertifikat Details bereitstellen oder das Domain-Zertifikat sollte genug sein?

2. Wenn die Antwort "beide" lautet, wie sollte meine sp-metadata.xml unter den folgenden Optionen aussehen?

(a) Mehrere ds:X509Certificate Elemente für das gleiche ds:KeyInfo Element.

<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> 
     <ds:KeyName>sp.com</ds:KeyName> 
     <ds:X509Data> 
      <ds:X509SubjectName>CN=sp.com,C=US</ds:X509SubjectName> 
     <ds:X509Certificate>abcdef 
        123456 
     </ds:X509Certificate> 
     <ds:X509Certificate>UVWXYZ 
        xa9900 
     </ds:X509Certificate> 
    </ds:X509Data> 
</ds:KeyInfo> 

(b) Multiple ds:KeyInfo Elemente.

<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> 
     <ds:KeyName>sp.com</ds:KeyName> 
     <ds:X509Data> 
      <ds:X509SubjectName>CN=sp.com,C=US</ds:X509SubjectName> 
     <ds:X509Certificate>abcdef 
        123456 
     </ds:X509Certificate> 
    </ds:X509Data> 
</ds:KeyInfo> 
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> 
     <ds:KeyName>Symantec Class 3 Secure Server CA - G4</ds:KeyName> 
     <ds:X509Data> 
      <ds:X509SubjectName>CN=sp.com,C=US</ds:X509SubjectName> 
     <ds:X509Certificate>UVWXYZ 
        xa9900 
     </ds:X509Certificate> 
    </ds:X509Data> 
</ds:KeyInfo> 

Vielen Dank im Voraus.

PS: Ich habe einen Blick in Validating a signature without intermediate certificate geworfen, aber bekam keine klare Antwort auf meine Frage.

Antwort

0

Der SP kümmert sich nicht um das browsersichere Zertifikat. Das dem Browser zugewandte Zertifikat (und der Schlüssel) werden über Apache httpd [1] oder IIS [2] verwaltet. Der Schlüssel und das Zertifikat, die von der Shibboleth SP-Software verwendet werden, sind in der Regel selbstsigniert, da sie in der Regel nur als Vehikel für die Speicherung des öffentlichen Schlüssels verwendet werden. Daher handelt es sich in der Regel um ein 10-20-Jahr-Zertifikat.

[1] https://httpd.apache.org/docs/2.4/ssl/
[2] https://technet.microsoft.com/en-us/library/cc732230(v=ws.10).aspx