當前位置:首頁 » 數據倉庫 » 如何配置sp端和idp端文件
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

如何配置sp端和idp端文件

發布時間: 2022-04-23 21:09:33

Ⅰ windows的shibboleth和linux的shibboleth一樣嗎

Shibboleth Installation(Shibboleth安裝)
Shibboleth包含幾個單獨的組件: the identity provider(IdP), service provider(SP), and discovery service(DS)。你可以根據自

己的需要選擇部署一個或更多的組件。在開始之前需要理解以下幾步:
1.在安裝之前必須閱讀並理解Shibboleth的文檔以及工作流程的介紹。
2.如果在安裝的過程中遇到了問題,請按照以下幾點進行檢查。
1) 參閱安裝和配置文件。
2) 檢查故障排除指南。
3) 檢查用戶的郵件列表歸檔,看看其他人有沒有遇到同樣的問題,解決辦法是什麼。
4) 從用戶的郵件列表中尋求幫助。
3. 安裝完畢後,你應該也可以訂閱Shibboleth的公告,這是關於新版本的公告,更新舊版本至最新,與安全漏洞發布。
一、 准備安裝環境
准備安裝環境所需要的域名:
1.sp.machine為SP的域名,eg: exm1.sea.sp.com
2.idp.machine 為IDP的域名,eg: exm2.sea.idp.com
我本地准備的SP和IDP的域名分別為exm1.sea.sp.com,exm2.sea.idp.com。在使用之前首先要在windows的 C:\WINDOWS\system32\drivers\etc路徑下的Hosts文件中配置以上域名的映射,配置如下:
127.0.0.1 localhost
127.0.0.1 exm1.sea.sp.com
127.0.0.1 exm2.sea.idp.com
准備安裝所需的硬體設備(SP和IDP可以分別安裝在不同的電腦或者安裝在不同的虛擬機上,也可以安裝在同一台計算機上!)。
1)埠80和443需要被開放(保證沒有其他程序在佔用),注意防火牆對埠訪問許可權的問題。
2)用RedHat環境是最簡單的,這里我用的是windows,在安裝的過程中基本是一樣的。
3)確保硬體環境的時鍾設置是正確的。
二、 IDP的安裝
1.下載安裝JDK1.5+,Tomcat6.0.17+,Apache2.2+,並確保JAVA_HOME環境變數的正確設置,這里我用的是JDK1.6,Tomcat6.0.29, Apache 2.2。
註:必須從http://httpd.apache.org/網站上下載包含SSL支持的Apache安裝程序並安裝。
2.下載IDP組件,下載之後解壓並將解壓之後的目錄移動到你所要安裝的目標目錄。
(IDP下載地址為:http://shibboleth.internet2.e/downloads/shibboleth/idp/latest/,我下載的是shibboleth-identityprovider-2.2.0-bin.zip)
3.運行install.sh (linux環境) 或者 install.bat (Windows環境),進行安裝。
注意:在安裝過程中需要輸入的idp.home為IDP的安裝目錄,eg: D:\opt\shibboleth-idp,需要輸入的idp.hostname為IDP的域名(最好不要用IP地址,要不然後續過程會有錯誤出現),eg:exm2.sea.idp.com。
4.所需的配置
將IDP_HOME/lib/endorsed下的所有包復制到TOMCAT_HOME/endorsed下,IDP_HOME和TOMCAT_HOME 分別指IDP和TOMCAT的安裝目錄(如果TOMCAT根目錄下沒有endorsed文件夾則新建一個即可)。
5. 支持SOAP端點
1) 下載tomcat6-dta-ssl-1.0.0.jar (asc)放到TOMCAT_HOME/lib/目錄下。
2) 在TOMCAT_HOME/conf/server.xml中增加如下的配置:

protocol="org.apache.coyote.http11.Http11Protocol"
SSLImplementation="e.internet2.middleware.security.tomcat6."
scheme="https"
SSLEnabled="true"
clientAuth="true"
keystoreFile="IDP_HOME/credentials/idp.jks"
keystorePass="PASSWORD" />
6. 用IDP的安裝路徑取代IDP_HOME。
7. 在安裝IDP過程中用到的密碼替換掉PASSWORD。
8. 部署IDP:
1)創建TOMCAT_HOME/conf/Catalina/localhost/idp.xml文件並用以下代碼替換其內容。

privileged="true"
antiResourceLocking="false"
antiJARLocking="false"
unpackWAR="false"
swallowOutput="true" />
2)用IDP的安裝路徑取代IDP_HOME。
9. 加入以下行至Apache的配置文件httpd.conf中:
ProxyPass /idp/ ajp://localhost:8009/idp/
10. 更改Tomcat的TOMCAT_HOME/conf/server.xml中的埠8009 AJP13連接器,我們將要增加 request.tomcatAuthentication="false"和Address="127.0.0.1"讓Apache允許發送用戶名信息 到IDP。

enableLookups="false" redirectPort="8443" protocol="AJP/1.3"
request.tomcatAuthentication="false" address="127.0.0.1" />
11. 在Apache的httpd.conf或ssl.conf配置文件中定義以下程序,強制身份驗證的時候訪問RemoteUser處理程序。

AuthType Basic
AuthName "My Identity Provider"
AuthUserFile D:/opt/shibboleth-idp/credentials/user.db
require valid-user

12. 用htpasswd命令創建一個或兩個測試用戶
htpasswd -c D:/opt/shibboleth-idp/credentials/user.db myself
htpasswd命令為Apache工具命令必須在命令行下進入到Apache安裝目錄的bin目錄下才可以執行,myself為用戶名。
13. 測試IDP是否安裝成功:
用https://localhost/idp/profile/Status訪問,如果頁面出現』ok』則說明安裝正確。這並不意味著你將能夠登錄到任何東西,因為目前還尚未配置的IDP使用的組織的基礎設施。
三、安裝SP
Windows下安裝
SP目前支持的windows操作系統有以下幾個版本:
1)Windows XP SP2 and Later
2)Windows 2003 Server SP1 and Later
3)Windows 2008 Server
1.安裝Shibboleth
1)下載後綴名為.msi的SP安裝程序,下載網址為:
http://shibboleth.internet2.e/downloads/shibboleth/cppsp/latest/
2) 運行安裝程序。安裝程序將提示輸入安裝路徑,更改默認的配置文件與Windows適當,並為您設置各種環境變數。默認的shibd服務也被安裝。
2.基本配置
編輯Apache安裝目錄下的conf文件夾下的httpd.conf文件:
1) 用Include指令將Shibboleth對應apache版本的配置文件包含至httpd.conf文件中(eg:在httpd.conf中添加
Include D:/opt/shibboleth-sp/etc/shibboleth/apache22.config)。
2) UseCanonicalName指令設置為on.(eg:UseCanonicalName On)。
3) 確保ServerName指令設置正確(eg:ServerName exm1.sea.sp.com:80)。
配置Apache使其支持SSL協議,創建過程如下所示:
創建SSL證書
1) 打開cmd, cd到apache安裝目錄的bin目錄
2) 運行openssl
openssl req -config ..\conf\openssl.cnf -new -out my-server.csr
( 注意, my-server是自己起的名字, 以下步驟中提到my-server的也是自己起的名字) 這一步需要設置一系列的問題, 包括密碼(這個密碼要記住, 以後要用) 和其他的問題. 全部完成之後會生成一個my-server.csr和 privkey.pem 文件在bin文件夾中.)
3) 運行
openssl rsa -in privkey.pem -out my-server.key
(此時要輸入密碼, 就是步驟2中設定的密碼)
4) 運行
openssl x509 -in my-server.csr -out my-server.cert -req -signkey my-server.key -days 4000
這將創建一個4000天後才過期的證書
5) 運行
openssl x509 -in my-server.cert -out my-server.der.crt -outform DER
6) 全部運行過後這些命令會在bin文件夾中生成6個文件:
.cnt
privkey.pem
my-server.der.crt
my-server.scr
my-server.key
my-server.cert
(將這些文件移到conf/ssl目錄中(如果不存在這個目錄就創建一個, 這個步驟中放到其他的目錄也可以 關鍵是記住文件的位置, 在接下來的設置中會用到)
設置Apache支持SSL
注意: 本設置步驟針對針對Apache 2.2.x版本, 如果正在使用的是Apache 2.0.x版本, 請摸索相似的設置.
在Apache的conf目錄中用文本編輯器打開httpd.conf
1) 去掉下面設置行前面的#
LoadMole ssl_mole moles/mod_ssl.so
2) 去掉下面設置行前面的# (在2.0.x版本中沒有這一項)
Include conf/extra/httpd-ssl.conf
3) 在Apache的conf/extra目錄中打開httpd-ssl.conf, 更改如下設置.
[apache安裝目錄]是指Apache的安裝目錄, 比如c:/Apache; my-server的兩個文件就是前一個步驟製作的文件, 文件的位置就是這些文件在磁碟中的位置 (在2.0.x版本中這些設置仍然在 httpd.conf文件中進行)
SSLMutex default
SSLCertificateFile "[Apache安裝目錄]/conf/ssl/my-server.der.crt"
SSLCertificateKeyFile "[Apache安裝目錄]/conf/ssl/my-server.key"
測試
1) 保存設置文件。
2) 在開始菜單中運行Apache的Test Configuration工具, 檢查設置文件是否正確。
3) 重新啟動Apache 2.2.x。
4) 順利啟動之後, 在瀏覽器中輸入 https://localhost 看看是否可以訪問, 如果可以訪問, 則設置成功。

3. SP安裝測試
用https://localhost/Shibboleth.sso/Status訪問測試,如果測試成功,那麼該軟體為進一步的配置做好了基本的准備。
四、 IDP and SP本地測試的基本配置
我們需要配置IDP和SP相互間的交互,注意配置:
SP的配置文件在 /etc/shibboleth/ 目錄下:
SP:shibboleth2.xml:
1) 改變節點元素的entityID為
https://sp.machine/shibboleth,sp.machine為SP的域名。(Eg:https://exm1.sea.sp.com/shibboleth)
2) 改變節點元素的entityID為
https://idp.machine/idp/shibboleth,idp.machine為IDP的域名。(eg: https://exm2.sea.idp.com/idp/shibboleth)
3) 取消對遠程元數據例子節點的注釋,這里將要描述你的IDP到SP,改變這個uri指向 http://idp.machine/idp/profile/Metadata/SAML,idp.machine為IDP的域名。
Eg: http://exm2.sea.idp.com/idp/profile/Metadata/SAML
4) 註解或刪除掉類型為Signature的節點,因為這個元數據沒有被簽名。
Eg:

backingFilePath="federation-metadata.xml" reloadInterval="7200">
(這個沒有註解或刪除的情況下會報:Unable to locate metadata for identity provider,不知道為什麼,有待解決!)

IDP的配置文件在 IDP_HOME/conf 目錄下:
IdP: relying-party.xml:
1) 取消掉從一個URL讀取元數據MetadataProvider節點元素的注釋,將該節點元素的metadataURL屬性改為
http://sp.machine/Shibboleth.sso/Metadata。更高級的部署,你需要手工編輯元數據進行匹配。
2) 注釋掉包含在MetadataProvider元素中的MetadataFilter節點元素,這個元數據是未簽名的,所以這個過濾器可能會引起元數據載入失敗!
Eg:改變之後的為:

Ⅱ 如何解決error decoding shibboleth sso request

己的需要選擇部署一個或更多的組件。在開始之前需要理解以下幾步:
1.在安裝之前必須閱讀並理解Shibboleth的文檔以及工作流程的介紹。
2.如果在安裝的過程中遇到了問題,請按照以下幾點進行檢查。
1) 參閱安裝和配置文件。
2) 檢查故障排除指南。
3) 檢查用戶的郵件列表歸檔,看看其他人有沒有遇到同樣的問題,解決辦法是什麼。
4) 從用戶的郵件列表中尋求幫助。
3. 安裝完畢後,你應該也可以訂閱Shibboleth的公告,這是關於新版本的公告,更新舊版本至最新,與安全漏洞發布。
一、 准備安裝環境
准備安裝環境所需要的域名:
1.sp.machine為SP的域名,eg: exm1.sea.sp.com
2.idp.machine 為IDP的域名,eg: exm2.sea.idp.com
我本地准備的SP和IDP的域名分別為exm1.sea.sp.com,exm2.sea.idp.com。在使用之前首先要在windows的 C:\WINDOWS\system32\drivers\etc路徑下的Hosts文件中配置以上域名的映射,配置如下:
127.0.0.1 localhost
127.0.0.1 exm1.sea.sp.com
127.0.0.1 exm2.sea.idp.com
准備安裝所需的硬體設備(SP和IDP可以分別安裝在不同的電腦或者安裝在不同的虛擬機上,也可以安裝在同一台計算機上!)。
1)埠80和443需要被開放(保證沒有其他程序在佔用),注意防火牆對埠訪問許可權的問題。
2)用RedHat環境是最簡單的,這里我用的是windows,在安裝的過程中基本是一樣的。
3)確保硬體環境的時鍾設置是正確的。
二、 IDP的安裝
1.下載安裝JDK1.5+,Tomcat6.0.17+,Apache2.2+,並確保JAVA_HOME環境變數的正確設置,這里我