今天遇到配置了SSL的服务器,不知道怎么写客户端调用,费了一定时间还是折腾通了,mark下与大家共勉
- System.setProperty("javax.net.ssl.keyStore","c:\\tomcat.jks");
- System.setProperty("javax.net.ssl.keyStorePassword","12345678");
- System.setProperty("javax.net.ssl.trustStore","c:\\tomcat.jks");
- System.setProperty("javax.net.ssl.trustStorePassword","12345678");
- String urlResouce = "https://localhost:8443/cloud-storeage-boss/cai:images:public/11汉字.jpg"; // create URL
- File localFile = new File("C:\\Users\\Public\\Pictures\\Sample Pictures\\Penguins.jpg");
- try{
- HttpsURLConnection urlConnection =
- (HttpsURLConnection) (new URL(urlResouce)).openConnection();
- urlConnection.setRequestProperty("Charset", "UTF-8");
- urlConnection.setDoInput(true);
- urlConnection.setDoOutput(true);
- urlConnection.setRequestMethod("PUT");
- OutputStream urlOutputStream = urlConnection.getOutputStream();
- FileInputStream fileInputStream = new FileInputStream(localFile);
- IOUtils.copy(fileInputStream, urlOutputStream);
- fileInputStream.close();
- urlOutputStream.close();
- System.out.println(urlConnection.getResponseCode());
- }
- catch(Exception e)
- {
- e.printStackTrace();
- }
关键就是系统参数的设置,将证书设置到系统中去,如果已经将安全证书安装到JDK那就很easy了
相关推荐
标题 "HTTPS客户端、服务端代码样例" 涉及的是在互联网通信中使用安全套接层(SSL)或传输层安全(TLS)协议的HTTPS(超文本传输安全协议)的编程实践。HTTPS确保了数据在客户端(如浏览器)与服务器之间的传输过程...
首先,我们需要理解HTTPS的核心特性:它基于HTTP协议,但在数据传输层增加了SSL/TLS协议,提供了加密处理、服务器身份验证和消息完整性检查,以防止中间人攻击。 1. **配置信任的CA证书** 在调用HTTPS服务时,Java...
3. **配置HTTPS**:在生成的客户端代码中,可能需要配置HTTPS相关的属性,如信任的证书或密钥库。这通常涉及到`javax.net.ssl.HttpsURLConnection`类的设置,例如设置`SSLSocketFactory`,处理证书问题。 4. **调用...
2. 客户端代码:在Java中,客户端通常使用`javax.net.ssl.HttpsURLConnection`类来创建和管理HTTPS连接。设置信任的根证书、服务器证书和私钥等关键步骤包括设置SSLSocketFactory和KeyManager。 3. 服务器端配置:...
为了封装网络请求,开发者可能创建了一个网络访问的工具类或者库,将上述所有逻辑抽象成易于调用的方法,这样可以提高代码的复用性和可维护性。 总的来说,这个项目涵盖了Android网络请求中的高级安全话题,包括SSL...
- 调用`HttpsURLConnection`的`setSSLSocketFactory(sslContext.getSocketFactory())`方法,设置自定义的SSL工厂。 3. **设置连接属性**: - `setConnectTimeout()`和`setReadTimeout()`设置超时时间。 - `...
在Java编程环境中,HTTPS(Hypertext Transfer Protocol Secure)客户端的实现是开发网络应用程序时不可或缺的一部分,特别是涉及到安全的数据传输,如登录验证、支付接口等。本知识点将深入讲解如何利用Java实现一...
`HttpClient`是Apache提供的一种HTTP客户端库,它支持HTTPS协议。在Android中,我们可以使用`AndroidHttpClient`,它是`HttpClient`的一个优化版本,更适合Android平台。 #### 1.1 配置HttpClient访问HTTPS(不验证...
在上面的代码中,我们实现了doPost方法,该方法将参数转换为字节数组,并调用另一个doPost方法来实现Post请求。 下面是doPost方法的实现代码: ```java private static String doPost(String url, String ctype,...
下面是一个简单的Java代码示例,演示如何调用HTTPS服务: ```java import javax.net.ssl.HttpsURLConnection; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; public ...
HttpClient和HttpsUrlConnection是Android系统中用于实现HTTP和HTTPS请求的两个主要工具。本文将深入探讨这两种方式,以及它们在处理HTTPS安全通信中的应用。 首先,HttpClient是Apache的一个组件,它为Java提供了...
总之,Java客户端调用带X509证书加密的WCF服务涉及到多个步骤,包括证书的创建和配置、客户端代码的生成、安全设置以及服务调用。这个过程需要对Java网络编程、X509证书、以及WCF服务有深入的理解。在实际应用中,...
在Android Studio中,我们通常使用`HttpsURLConnection`而非`HttpURLConnection`,因为前者支持HTTPS协议,能提供更高级别的安全性。以下是一个基本的`HttpsURLConnection` POST请求的实现步骤: 1. **初始化连接**...
HTTPS是一种基于SSL/TLS协议的安全传输层,可以确保数据在传输过程中的安全性。然而,当传输包含中文字符的数据时,由于字符编码的不一致,可能会导致乱码问题。 错误通常出现在两个主要环节:请求头的设置和数据的...
HttpURLConnection调用三方HTTP接口,带有FILE文件参数
`HttpURLConnection`是Java标准库提供的一种轻量级的HTTP客户端,它允许我们在后台代码中发送GET和POST请求。本篇文章将深入讲解如何使用`HttpURLConnection`类来模拟浏览器请求,并通过实例展示其在接口调用中的...
客户端需要确保与服务器的通信安全,Java提供SSL/TLS支持,通过`SSLSocket`和`HttpsURLConnection`实现加密连接。同时,可以使用OAuth或JWT进行身份验证,保护用户信息。 7. **错误处理与重试机制** 客户端应具备...