2016-03-10 37 views
2

我正在查看SAML IdP的元數據,並列出了三個唯一證書--2個簽名和1個加密。SAML2元數據 - 多個簽名證書

... 
 
<md:KeyDescriptor use="signing"> 
 
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> 
 
    <ds:X509Data> 
 
     <ds:X509Certificate> 
 
     </ds:X509Certificate> 
 
    </ds:X509Data> 
 
</ds:KeyInfo> 
 
</md:KeyDescriptor> 
 
<md:KeyDescriptor use="signing"> 
 
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> 
 
    <ds:X509Data> 
 
     <ds:X509Certificate> 
 
     </ds:X509Certificate> 
 
    </ds:X509Data> 
 
</ds:KeyInfo> 
 
</md:KeyDescriptor> 
 
<md:KeyDescriptor use="encryption"> 
 
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> 
 
    <ds:X509Data> 
 
     <ds:X509Certificate> 
 
     </ds:X509Certificate> 
 
    </ds:X509Data> 
 
</ds:KeyInfo> 
 
</md:KeyDescriptor> 
 
...

我明白爲什麼它列出了簽名和加密證書,但我怎麼確定我的服務供應商要使用的簽名證書?爲什麼有兩個簽名證書?

在此先感謝!

+0

ADFS例如有兩張從二手到小學翻轉的證書。有一段時間兩者都有效。你也可以使用。 – nzpcmad

回答

2

當IDP更改它的簽名證書時,它首先與元數據中的舊證書並行發佈新證書。當idp實際切換到使用新證書時,所有SP必須知道新證書,否則他們將無法驗證簽名。

作爲SP,您不知道IDP在處理過程中的位置,因此您必須檢查簽名是否符合所列兩個證書中的任何一個。

0

另一個原因則可能(總)看到兩個是,你可能有一個從暗道證書來(如證書/ IDP-backchannel.crt和證書/ IDP-signing.crt)

我想有很多SP並不知道該做什麼。如果你不需要反向頻道,你可以考慮刪除它(或者至少不把它交給你的策劃元數據中的人)。

根據我的經驗,令人討厭的(真正令人討厭的)事情是,所有三個都是關於同一事物(至少在我的情況下)的單獨證書,並且所有三個同時有效(這肯定會導致困難) 。

https://wiki.shibboleth.net/confluence/display/IDP30/Installation

安裝過程中會提示或爲您生成以下信息:

(開始報價)

  • IdP進行的ENTITYID(你可以重寫如上所述)
  • 單獨的自籤密鑰/證書對:
    • 消息由IdP進行
  • 密鑰和密鑰版本文件簽署
  • 保護Web服務的連接,通常在端口通過其他系統解密數據的8443
  • 加密保護IdP爲自己使用而製作的cookie和其他數據(這是一個特殊的「JCEKS」類型Java密鑰庫)
  • 某些描述供夥伴SP使用的IdP的初始示例元數據S,一旦經過審覈,並在此基礎上補充資料
  • 一組默認的的IdP配置文件

(完報價)