我正在尝试升级Shibboleth服务提供商(sp)上面向浏览器的证书。现有设置在shibboleth2.xml和sp-metadata.xml中都有一个证书。实现中的代码片段如下:
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>
shibboleth2.xml中提到的文件sp-cert.pem如下:
-----BEGIN CERTIFICATE-----
ABCxyz
az1234
-----END CERTIFICATE-----
现在我已经生成了一个新证书,其中包含sp.com的域证书(sp-cert-dom.pem)和中间证书(sp-cert-int.pem),具体如下:
SP-CERT-dom.pem
-----BEGIN CERTIFICATE-----
abcdef
123456
-----END CERTIFICATE-----
SP-CERT-int.pem
-----BEGIN CERTIFICATE-----
UVWXYZ
xa9900
-----END CERTIFICATE-----
我已将两个证书合并到一个文件(sp-cert1.pem)中,如下所示:
-----BEGIN CERTIFICATE-----
abcdef
123456
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
UVWXYZ
xa9900
-----END CERTIFICATE-----
然后我更新了shibboleth2.xml(在通知所有利益相关者有关更改后)指向新证书:
<CredentialResolver type="Chaining">
<CredentialResolver type="File" key="sp-key1.pem" certificate="sp-cert1.pem"/>
</CredentialResolver>
但是我不知道如何使用新证书更新sp-metadata.xml。现在我有以下问题:
1。我是否真的必须提供域名和中间证书详细信息,或者域名证书应该足够吗?
2。如果答案是&#34;两者都是&#34;,我的sp-metadata.xml在以下选项中应该如何?
(a)相同ds:X509Certificate
元素的多个ds:KeyInfo
元素。
<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)多个ds:KeyInfo
元素。
<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>
提前致谢。
PS:我确实看了Validating a signature without intermediate certificate,但没有得到我问题的明确答案。
答案 0 :(得分:0)
SP不关心面向浏览器的证书。面向证书(和密钥)的浏览器通过Apache httpd [1]或IIS [2]进行管理。 Shibboleth SP软件使用的密钥和证书通常是自签名的,因为它实际上仅用作存储公钥的工具,因此它通常是10 - 20年的证书。
[1] https://httpd.apache.org/docs/2.4/ssl/
[2] https://technet.microsoft.com/en-us/library/cc732230(v=ws.10).aspx