簡體   English   中英

PHP中的SSO SAML2.0實現

[英]SSO SAML2.0 implementation in PHP

因此,我正在設置從我的網站到另一個網站的SSO實現。 我了解如何構建請求並對其進行簽名以及所有這些內容。 我無法理解的是證書。 具體來說,誰獲得了什么證書。 我知道如何生成它們,但是我不確定是否將證書發送到要登錄的網站,或者是否必須生成證書和密鑰庫並向我們發送證書。 在此過程的這一部分中,我有些困惑,因此我可以使用一些幫助進行澄清。

由於我正在訪問他們的站點,因此在我看來,他們應該生成證書並將其發送給我們,並將密鑰庫保留在其計算機上以進行握手。 如果必須同時生成兩者,那么密鑰庫通常保存在哪里? 我們在我們的站點上有一些實現,但是編寫它們的開發人員在這里不再工作,幾乎沒有甚至沒有文檔。 另外,該證書是可以在生產中使用的自簽名證書嗎? 我相信是的,但是只是想確定一下。 任何澄清的幫助將不勝感激。

它是公共密鑰基礎結構(PKI),因此你們每個人都可以獲得對方的公共密鑰證書。 通常使用SAML2元數據配置文件完成此操作,因此您可以獲取其公共密鑰證書。

如果他們想要對屬性進行加密,則看起來您是一個IdP,您需要使用其公鑰來執行此操作。 您用私鑰對它們簽名SAMLResponse,然后他們用公鑰對其進行驗證。 因此,您每個人都會生成自己的密鑰並將其保密,因為它們是用於簽名的密鑰。 您交換公共密鑰。

您需要用於登錄端點的證書,但另一方不需要看到此證書。 他們只需要您的公共密鑰證書即可用於XML交換,並且您需要他們的證書來驗證SAMLResponse上的簽名(如果您是SP)。

使用SAML XML的證書通常是10年自簽名的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM