我有一臺服務器使用自簽名證書來爲我的測試客戶提供https連接。交換可信任證書的自簽名證書?
我的客戶端應用程序是用Java編寫的,我是有它接受自簽名的證書,像這樣:
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.impl.client.DefaultHttpClient;
SSLSocketFactory factory = new SSLSocketFactory(myTrustedStore);
DefaultHttpClient client = new DefaultHttpClient();
client.getConnectionManager().getSchemeRegistry()
.register(new Scheme("https", factory, 456));
現在,我擁有一個值得信賴的第三方供應商適當的SSL證書。
如果我換證書,將連接上述失敗?因爲我使用上面的SSLSocketFactory顯式初始化,客戶端是否會拒絕服務器證書(這將是一個真正的信任證書?)。
只是想知道如果我必須要改變上面的代碼,並有我的測試更新自己的客戶端應用程序,或者將連接只是透明地工作他們無需更新?
感謝
-----跟進------
我受夠了 '真正的' 證書嘗試。我不得不使用自簽名證書的代碼不起作用。所以在他們使用真正的證書之前,我必須在客戶端放棄上面的代碼。
喜耶同一個問題 - 這樣的客戶端代碼並不需要進行修改,然後?它會接受新的可信證書,即使我正在使用明確的自簽證書初始化連接。 – user1219278 2013-02-22 15:30:09
**「您的代碼不應受到影響。」** - 不,您的代碼正常。如果失敗,您可能需要導入新的證書,但是 - 因爲您需要使用此代碼進行升級 - 您不應該更改它。 – gaborsch 2013-02-22 15:35:46
好的,謝謝我會給它一個鏡頭並報告回來。 – user291701 2013-02-22 16:27:20