Android 訪問 Tomcat SSL雙向驗證伺服器

來源:互聯網
上載者:User

項目需要,在Android上實施SSL的雙向驗證。

 

準備環境:

Windows 2003 EE;

OpenSSL;

Tomcat 7;

 

簡單的過程:

1.用OpenSSL和keytools做CA,Client,Server的認證、私密金鑰。

2.搭建Tomcat的雙向驗證的Web伺服器。

3.用IE驗證SSL的雙向驗證的有效性。

    上面的三步參見下面的文檔:    tomcat下https ssl 雙向認證

    唯一的問題是:Tomcat7的配置不同。server.xml

 

[xhtml] view
plaincopy

  1. <Connector   
  2.     className="org.apache.catalina.connector.http.HttpConnector"  
  3.     protocol="org.apache.coyote.http11.Http11NioProtocol"        
  4.            port="8443" minSpareThreads="5" maxSpareThreads="75"        
  5.            enableLookups="true" disableUploadTimeout="true"          
  6.            acceptCount="100"  maxThreads="200"        
  7.            scheme="https" secure="true" SSLEnabled="true"        
  8.            clientAuth="true" sslProtocol="TLS"        
  9.            keystoreFile="C:/OpenSSL/server/server_keystore"       
  10.            keystorePass="66666"/>   

 

  keystorePass 是自己server_keystore的密碼

  單向驗證把clientAuth="true" 修改為false

 

4.編寫Android的SSL驗證程式,但只能做到單向驗證伺服器的認證。參看下面的連結,其還有源碼

   Android OpenSSL分析及執行個體 - zhenyongyuan123的專欄

 

5.編寫Java版本的Client/Server程式驗證SSL的雙向驗證。

   java實現 SSL雙向認證 

 

6.為了瞭解SSL的握手過程,測試用OpenSSL命令列直接驗證Tomcat的SSL雙向驗證過程。

  用openssl串連TomCat SSL雙向驗證的命令列。

[python] view
plaincopy

  1. openssl s_client -connect localhost:8443 -cert client/client-cert.pem -key client/client-key.pem -CAfile ca/ca-cert.pem -state  

7.通過上面的過程,發現了步驟4的問題所在,解決了Android訪問TomCat的雙向SSL驗證的WEB伺服器。

8.最有一步,直接用Android 的WebView訪問Tomcat的雙向SSL伺服器,正在研究中... 可能需要修改WebView的源碼,研究完成單獨書寫文檔表述實現方法。

http://blog.csdn.net/win2k3net/article/details/6165690

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.