/**
* get https connection
*
* @param port
* @return
* @throws IOException
* @throws CertificateException
*/
private HttpClient makeHttpsClient(int port) throws CertificateException,
IOException {
MySSLSocketFactory socketFactory = null;
try {
KeyStore trustStore = KeyStore.getInstance(KeyStore
.getDefaultType());
trustStore.load(null, null);
socketFactory = new MySSLSocketFactory(trustStore);
Scheme sch = new Scheme("https", socketFactory, port);
HttpParams httpParameters = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters,
CONNECTION_TIME_OUT);
HttpConnectionParams.setSoTimeout(httpParameters, SOCKET_TIME_OUT);
HttpClient httpClient = new DefaultHttpClient(httpParameters);
httpClient.getConnectionManager().getSchemeRegistry().register(sch);
return httpClient;
} catch (KeyManagementException e) {
e.printStackTrace();
} catch (UnrecoverableKeyException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (KeyStoreException e) {
e.printStackTrace();
}
return null;
}
private String invokeServer(List<NameValuePair> params, String serverURL)
throws Exception {
HttpPost post = new HttpPost(serverURL);
HttpEntity entity = new UrlEncodedFormEntity(params, "UTF-8");
post.setEntity(entity);
HttpResponse response = makeHttpsClient(443).execute(post);
int sCode = response.getStatusLine().getStatusCode();
if (sCode == HttpStatus.SC_OK) {
return EntityUtils.toString(response.getEntity());
} else
throw new Exception("StatusCode is " + sCode);
}
private String invokeServer(String serverURL) throws Exception {
HttpClient httpClient = makeHttpsClient(443);
HttpGet httpGet = new HttpGet(serverURL);
try {
HttpResponse httpResponse = httpClient.execute(httpGet);
int statusCode = httpResponse.getStatusLine().getStatusCode();
if (statusCode == HttpStatus.SC_OK) {
String str = EntityUtils.toString(httpResponse.getEntity());
return str;
}
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
分享到:
相关推荐
- `clientAuth`:表示是否要求客户端认证。 - `sslProtocol`:指定使用的 SSL/TLS 版本。 - `keystoreFile` 和 `keystorePass`:分别是密钥库文件路径和密码。 ### 步骤三:配置 Spring 配置文件 最后一步是在 ...
本人记录了elasticsearch开启ssl安全认证和跨集群访问配置
主要是生成证书: 请先安装java和openssl. 生成证书脚本ca.sh: #!/bin/bash #Step 1 keytool -keystore /var/soft/ca/server.keystore.jks -alias localhost -validity 365 -genkey #Step 2 openssl req -new -x509 ...
SSL认证是网络安全的一种机制,用于验证服务器的身份,防止中间人攻击。但在开发环境中,为了快速测试,我们可能希望绕过这些认证。本文将详细介绍如何使用Java和HttpClient来模拟HTTPS文件上传,并跳过SSL验证。 ...
在本文中,我们将深入探讨如何使用 Netty 实现 SSL/TLS(Secure Sockets Layer/Transport Layer Security)双向加密认证。SSL/TLS 是互联网上广泛采用的安全通信协议,确保数据在网络传输过程中保持私密性和完整性。...
SSL认证对于任何处理敏感信息的网站都是至关重要的,它能保证用户数据在互联网上的传输过程中不被窃取或篡改。在IIS7.0上配置SSL认证虽然涉及多个步骤,但按照上述指南进行,可以确保你的网站能够提供安全的HTTPS...
**Nginx SSL双向认证配置详解** 在网络安全日益重要的今天,服务器与客户端之间的通信安全成为了一个不可忽视的问题。本文将详细介绍如何在Nginx服务器上配置SSL双向认证,以提高服务器的安全性,允许只有经过验证...
在 Tomcat 中配置 SSL 双向认证需要在 server.xml 文件中添加相应的配置信息。包括设置 SSL 协议、keystore 文件、keystore 口令、客户端认证等。客户端认证可以设置为 true、false 或 want,分别表示强制双向认证、...
双向SSL认证是一种高级的安全策略,它不仅要求服务器验证客户端的身份,也要求客户端验证服务器的身份,从而提供了更高级别的安全保护。 Apache的mod_jk模块是用于连接Apache和Tomcat的负载均衡器,它可以将HTTP...
SSL(Secure Socket Layer)双向认证是一种安全通信协议,它不仅要求服务器验证客户端的身份,同时也要求客户端验证服务器的身份。这种机制增强了网络通信的安全性,尤其在金融、医疗等对数据安全有高要求的领域中...
3. 修改Tomcat的`server.xml`配置文件,添加SSL连接器: ```xml SSLEnabled="true" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" ...
我们需要将客户端证书添加到服务器的信任认证中。首先,我们需要将客户端证书导出为一个单独的 CER 文件: keytool -export -alias myKey -keystore C:\my.p12 -storetype PKCS12 -storepass password -rfc -file C...
SSL高级认证培训主要涵盖多个关键领域,旨在提升学员对SSL技术的理解和操作能力。以下是根据提供的文件内容,对各个主题的详细解释: 1. **多线路部署与配置**:5星重要度,主要讲解如何配置多线路,包括启用IPSEC...
2. 获取CAS服务器的相关接口信息,包括CASLoginURL(CAS登录接口)、CASValidateURL(CAS认证接口)以及Service(CAS平台添加的授权地址,即SSL设备的应用URL)。 **第3章 配置步骤** 配置过程主要包括两个部分: ...
4. **处理握手过程**:在Netty的ChannelInitializer中,我们将SSLEngine添加到管道中,并设置适当的SSL配置,例如`SSLContext.setDefaultOptions(SSLContext.getDefault().getSupportedSSLParameters());`以确保最新...
"为Windows远程桌面加上SSL证书认证整理.pdf" 在Windows2003操作系统中,微软公司推出了一个安全认证方式的远程桌面功能,允许使用SSL加密信息来传输控制远程服务器的数据,以提高远程桌面的安全级别和保护数据不被...
本文将详细介绍如何在`iOS`和`Android`应用中实施SSL双向认证以及配置证书。 一、SSL/TLS协议基础 SSL/TLS协议的主要目标是为网络通信提供加密处理,以防止第三方窃取或篡改信息。HTTPS是HTTP协议与SSL/TLS的结合,...
### WEB服务器SSL双向认证知识点详解 #### 一、SSL双向认证概述 - **定义**: SSL双向认证是指在SSL/TLS连接建立过程中,不仅服务器需要验证客户端的身份,客户端也需要验证服务器的身份。这种验证机制通过数字证书...