从Web服务从HTTP迁移到HTTPS

时间:2016-05-11 21:32:11

标签: java apache ssl

我在一台服务器上有一个Web服务,在另一台服务器上有一个Java客户端。目前所有呼叫都是通过HTTP进行的,但我希望通过HTTPS和基本身份验证使服务更安全,我只希望我的客户端能够进行呼叫。我的Web服务器接收请求是Apache httpd。

我在apache conf中设置了如下指令:

<Location /mypath>
        Order Deny,Allow
        Deny from all
        Allow from all
        AuthType Basic
        AuthName "My Web Service Login"
        AuthBasicProvider file
        AuthUserFile "/usr1/apache/passwd/passwords"
        Require user myuser
</Location>

密码文件只有一个条目,对于myuser

<IfModule ssl_module>
        ServerName www.myserver.com
        SSLEngine on
        SSLCACertificateFile "/usr1/apache/conf/ssl/myCAList.pem"
        SSLCertificateFile "/usr1/apache/conf/ssl/myserver.crt"
        SSLCertificateKeyFile "/usr1/apache/conf/ssl/myserver.pem"
        SSLVerifyClient require
</IfModule>

我认为我已正确设置服务器(以防万一)。但是,当我可以安全地重启apache时,我无法再测试这一小时。

我需要帮助的是我不确定如何配置客户端。这是一个简单的示例调用(使用httpclient 4.5.1):

HttpClient client = HttpClient.createDefault();
HttpGet httpGet = new HttpGet(URI);
HttpResponse httpRes = client.execute(httpGet);

我知道我需要在URI上指定https而不是http,但我该如何

1)发送基本认证的用户名和密码
2)确保我的客户端服务器信任Web服务服务器的证书
3)客户端服务器上需要哪些证书以及SSL连接

谢谢!

0 个答案:

没有答案