2015-10-16 35 views
0

我們一直在實施GREG5.0,並使用默認配置,一切正常。一旦我們用我們自己的wso2cabon.jks密鑰庫替換了默認的本地主機證書,當我們使用SSO登錄到Store或Publisher時,我們會收到「java.security.SignatureException:簽名長度不正確:得到256,但期望值爲128」。使用SSO和自定義證書登錄GREG 5.0的密鑰長度錯誤證書

我們已經從wso2carbon.jks中刪除了默認密鑰對並添加了我們自己的證書。我們的密鑰庫和證書的密碼是相同的。我們已經根據wso2碳4.4文檔更新了所有配置文件。我們已經用local_policy.jar和us_export_policy.jar更新了JavaHome,以便允許更長的密鑰長度。

管理員控制檯很好地工作,沒有問題。如果我們將商店或發佈商的登錄方法更改爲「基本」,那麼它工作正常。當我們將登錄方法設置爲「SSO」時,我們最終坐在https://servername/store/acs這個位置的空白頁面上。如果我們作爲Windows服務器或控制檯模式運行,我們在瀏覽器中具有相同的結果,但如果我們作爲Windows服務運行,那麼我們沒有錯誤並且沒有指示發生了什麼。如果我們在控制檯模式下運行,那麼我會在控制檯中看到上面提到的錯誤。

我在訪問儀表板時也注意到Identity Server 5.0上的這種行爲。

我們在windows上運行。

在WSO2中是否有另一個位置需要更新以適應增加的密鑰長度?

回答

0

我錯過了更新在倉庫/部署/服務器/ jaggeryapps /存儲/配置/ store.json庫/部署/服務器/ jaggeryapps /發行人/配置/ publisher.json的IdentityAlias位置。一旦我更新了該值以匹配我在wso2carbon.jks中使用的密鑰對的別名,該密鑰對似乎解決了keylength錯誤並創建了另一個問題。

所以現在它給了我一個NullPointerException。我提供了我們的密鑰對的別名,但是與我們在client-truststore.jks中加載的密鑰對導出的證書的別名不同。所以我決定設置兩個別名,以便他們匹配。隨着這一變化,我終於能夠成功地訪問商店和發佈商。

經過一些進一步測試後,只要IdentityAlias中的值與我在client-truststore.jks中加載的證書的別名相匹配,它就不會在意我的密鑰對別名是什麼。

希望這可以幫助別人。 Joe