2010-06-21 44 views
7

這是一個noob問題,但是我需要在我的Java Web應用程序中使用SSL(使用Stripes的MVC實現的標準排序Java Web應用程序,Spring和Hibernate)?將SSL配置爲與Tomcat 5.5服務器上的Java Web應用程序配合使用

我在Tomcat 5.5上部署我的戰爭文件。我只希望將SSL用於某些URL - 任何傳輸用戶密碼的方法 - 所以帳戶註冊,更改密碼和登錄。

我只需要獲得SSL證書並將其安裝在Tomcat中?如何確保https只用於某些網址?

回答

8

難道我只需要獲得一個SSL證書,並在Tomcat的安裝呢?

這將是必需的,你需要配置一個安全的連接器。

如何確保https只用於某些網址?

recommendation是加密的形式提交(即使用絕對https://網址相關表格action),但也形式頁面提交自己,如果你想防止中間人攻擊。

所以用「安全」絕對鏈接無處不在,你需要在你的web.xml使用安全約束強制執行的具體內容SSL:

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>Secure Area</web-resource-name> 
     <url-pattern>/secure/*</url-pattern> 
     <http-method>GET</http-method> 
     <http-method>POST</http-method> 
    </web-resource-collection> 
    <user-data-constraint> 
     <transport-guarantee>CONFIDENTIAL</transport-guarantee> 
    </user-data-constraint> 
</security-constraint> 
+0

+1,當然..我忘了安全限制:) – Bozho 2010-06-21 15:46:51

+0

我不我認爲我真的理解這部分內容: 「建議加密表單提交(即在相關表單操作中使用絕對https:// url),但如果您想阻止中間人攻擊,也可以自行形成提交頁面。「 也許一個例子是明確的事情了,我 – JMM 2010-06-21 23:56:35

+0

@Annie:??您是否嘗試過在看你的網絡瀏覽器在諸如Fiddler或線鯊魚嗅探軟件發送的請求曾經注意到你的請求和之間的區別你可以從專業網站,如Facebook得到的請求? – user919860 2012-09-27 17:31:16

2

您可以將Filter重定向到https://以獲取所需的網址。

2

我只需要獲得SSL證書並將其安裝在Tomcat中?

The Tomcat manual有關如何設置ts的相當容易遵循的指南。

如何確保https只用於某些網址?

這段邏輯需要在您的應用程序中。 Bozho的解決方案肯定會起作用,如果您使用特定的Web框架,可能還有其他解決方案。

1

是的,你需要一個SSL證書。它可以是自簽名的或由官方認可的認證機構簽發。

這裏有一個關於SSL的Tomcat和如何將一般設置修改的部署描述符啓用SSL一個很好的教程:http://www.jroller.com/gmazza/entry/setting_up_ssl_and_basic

+1

該URL不起作用。我確實在gmazza的博客上找到了這個相關的:http://www.jroller.com/gmazza/entry/ssl_for_web_services – slm 2012-10-31 01:20:23

相關問題