我无法理解使用证书的一般方案。 例如:我在某个网站上有帐户。我有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'登录服务器?)