簡體   English   中英

為WebServices啟用SSL“相互認證”和為GUI啟用“單向認證”嗎?

[英]Enable SSL “Mutual Authentication” for WebServices and “One Way Authentication” for the GUI?

我需要對Web服務(SOAP)應用SSL“相互認證”,對Web頁面應用“單向認證”,以避免瀏覽器中具有證書。 為了提供信息,GUI和SOAP Web服務位於同一war模塊中。

我在Tomcat容器級別使用了SSL相互身份驗證:

<Connector port="8443" protocol="HTTP/1.1" connectionTimeout="20000" 
SSLEnabled="true"
scheme="https"
secure="true"
clientAuth="true"
sslProtocol="TLS"
keystoreFile="D:\certificates\demo-keystore"
keystorePass="xxxxxxxx"
truststoreFile="D:\certificates\demo-truststore"
truststorePass="xxxxxxxx"/>
  • clientAuth =“ true”表示在接受連接之前,客戶端(來自瀏覽器和Web服務使用者)應提供有效的證書鏈。 我知道可以通過使用clientAuth =“ false”將SSL連接器配置為不需要來自客戶端的證書鏈,然后通過使用WSS4J攔截器在消息級別應用WS-Security,但是我想知道是否還有另一個解。

先感謝您。

您可以對許多SSL設置使用具有不同屬性的APR連接器 ,並配置SSLVerifyClient

<!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<Connector
       protocol="org.apache.coyote.http11.Http11AprProtocol"
       port="8443" maxThreads="200"
       scheme="https" secure="true" SSLEnabled="true"
       SSLCertificateFile="/usr/local/ssl/server.crt" 
       SSLCertificateKeyFile="/usr/local/ssl/server.pem"
       SSLVerifyClient="optional" SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"/>

SSLVerifyClient可用選項

向客戶要求證書。 默認值為“無”,這意味着客戶端將沒有機會提交證書。 其他可接受的值包括“可選”,“要求”和“ optionalNoCA”。

如果將其配置為可選,則GUI無法顯示證書(因為這不是強制性的)。 為了確保客戶端證書已經與WebServices一起提供,請檢查HttpServletRequest是否存在javax.servlet.request.X509Certificate

基於有關clientAuth屬性的Tomcat文檔

如果您希望SSL堆棧在接受連接之前需要來自客戶端的有效證書鏈,則設置為true。 如果希望SSL堆棧請求客戶端證書,則設置為want,但如果未提供證書,則不會失敗。 除非客戶端請求受使用CLIENT-CERT身份驗證的安全性約束保護的資源,否則false值(默認值)將不需要證書鏈。

我將clientAuth設置為“ false”,並在WEB-INF / web.xml中配置了CLIENT-CERT身份驗證。 這將需要具有URL模式/ ws / *的Web服務的客戶端證書:

<security-constraint>
    <web-resource-collection>
        <web-resource-name>CXFServlet</web-resource-name>
        <url-pattern>/ws/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

<login-config>
    <auth-method>CLIENT-CERT</auth-method>
</login-config>

暫無
暫無

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

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