我無法理解使用證書的一般方案。 例如:我在某個網站上有帳戶。我有name
和password
。我該怎麼做才能登錄這個網站? - 我應該打開_https://website:443/login
並填寫字段,如果一切正常,我會獲得准入。我如何使用用戶證書?
現在,我想通過java + httpclient(apache)以編程方式執行這些步驟。 我已經寫了:
client = new DefaultHttpClient();
client.getParams().setParameter(ClientPNames.COOKIE_POLICY,
CookiePolicy.BEST_MATCH);
client.setCookieStore(new BasicCookieStore());
client.getCredentialsProvider()
.setCredentials(new AuthScope(ADDRESS, new Integer(PORT)),
new UsernamePasswordCredentials(USERNAME, USERPWD));
而且,我也要用服務器的證書創建的trustStore:
System.setProperty("javax.net.ssl.trustStore", "./KeyStore/myca");
其中 'myca' 用 'InstallCert.java' 造 - Sun公司的產品。
但我想以編程方式執行所有這些步驟,如瀏覽器(FFox或Opera)導入服務器的證書...用戶只想使用我的應用程序,而不是一組額外的應用程序。
我該怎麼辦呢?
現在,主要問題:爲什麼服務器不需要用戶的證書?我該如何使用自己的證書進行身份驗證? (如果我有用戶證書,我不需要'name''password'登錄服務器?)