在Micorsoft ADFS 3.0系統,以SAML 2.0完成Spring web on Tomcat的單一登入SSO認證

1. 預備 Java Cryptography Extension的jar檔案。

org.apache.xml.security.encryption.XMLEncryptionException: Illegal key size
請 Google Search:Java Cryptography Extension
然後依JRE安裝環境不同,下載不同的檔案並覆蓋原 lib\security\local_policy.jar、US_export_policy.jar
或是動態發布。
java.security.Security.addProvider(new com.sun.crypto.provider.SunJCE());
2. 架設憑證伺服器,並且產生憑證檔 web.vghadfs.gov.tw.pfx

3. 預備修改keyManager設定。
keytool -importkeystore -srckeystore myweb.pfx -srcstoretype pkcs12 -destkeystore myweb.jks -deststoretype JKS -deststorepass changeit -destkeypass changeit -srcalias certreq-123456-987-654-321-000000abcdef -destalias tomcat
置換原 samlKeystore.jks 檔案
修改<bean id="keyManager" class="org.springframework.security.saml.key.JKSKeyManager">各項密碼、伺服器名稱等屬性

4. 加入新的metadata
重新製造metadata,取代原本的spring_saml_metadata.xml檔案。
修改<bean id="metadata" class="org.springframework.security.saml.metadata.CachingMetadataManager">
加入ADFS認證伺服器的metadata。
加入spring_saml_metadata.xml 本機的metadata。

5. 匯入spring_saml_metadata.xml檔案至 ADFS。

6. ADFS加入NameID傳送項
可以參考:

AD FS SSO Integration Guide

http://wiki.servicenow.com/index.php?title=Configuring_ADFS_3.0_to_Communicate_with_SAML_2.0#gsc.tab=0

7. 重新啟動 Spring Web伺服器。

廣告

About fenjj

Perfect !!??...
本篇發表於 Uncategorized。將永久鏈結加入書籤。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s