簡體   English   中英

將SSL服務器證書下載到iOS / Android應用

[英]Downloading SSL server certificates to iOS/Android app

我們已經開發了適用於iOS和Android的應用程序,可通過REST調用與服務器進行通信。 為了使用戶能夠首次登錄該應用程序,他們必須首先下載服務器的SSL證書(通過瀏覽器上的https連接或使用openssl,以DER格式下載),然后手動將證書加載到文件夾中在設備上(通過將設備連接到計算機並訪問其存儲)。 該應用程序在登錄時將檢查該文件夾,如果其中存在正確的證書,則用戶將能夠登錄...任何后續登錄,用戶將不必再次加載證書。

現在我想知道是否有一種方法可以使上面概述的手動過程自動化? 這是一個非常繁瑣的過程,尤其是對於移動應用程序而言。

例如,連接到服務器並將證書直接下載到設備...但是這種方法是否存在安全風險?

謝謝

嘗試這個

HostnameVerifier hostnameVerifier = org.apache.http.conn.ssl.SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER;
            DefaultHttpClient client = new DefaultHttpClient();
            SchemeRegistry registry = new SchemeRegistry();
            SSLSocketFactory socketFactory = SSLSocketFactory
                    .getSocketFactory();
            socketFactory
                    .setHostnameVerifier((X509HostnameVerifier) hostnameVerifier);
            registry.register(new Scheme("https", socketFactory, 443));
            SingleClientConnManager mgr = new SingleClientConnManager(
                    client.getParams(), registry);
            // defaultHttpClient
            DefaultHttpClient httpClient = new DefaultHttpClient(mgr,
                    client.getParams());
            HttpsURLConnection.setDefaultHostnameVerifier(hostnameVerifier);

暫無
暫無

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

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