WebService 是基于SOAP协议传输的,SOAP是以XML文件形式进行信息传输,是明文,这是不安全的,所以我们可以在WebService加上SSL/HTTPS协议来进行数据传输
基于Axis的WebService可以很好的实现,在这里我们使用tomcat服务器
使用JDK自带的工具创建密匙库和信任库。
1)通过使用以下的命令来创建服务器端的密匙库:
keytool-genkey-aliasServer-keystoreserver.keystore-keyalgRSA
输入keystore密码:strongit
您的名字与姓氏是什么?
[Unknown]:Server
您的组织单位名称是什么?
[Unknown]:ec
您的组织名称是什么?
[Unknown]:ec
您所在的城市或区域名称是什么?
[Unknown]:nanchang
您所在的州或省份名称是什么?
[Unknown]: jiangxi
该单位的两字母国家代码是什么
[Unknown]:CN
CN=Server,OU=ec,O=ec,L=beijing,ST=beijing,C=CN正确吗?
[否]:y
输入<Server>的主密码
(如果和keystore密码相同,按回车):
以上命令执行完成后,将获得一个名为server.keystore的密匙库。
2)生成客户端的信任库。首先输出RSA证书:
keytool-export-aliasServer-filetest_axis.cer-storepassstrongit-keystoreserver.keystore
然后把RSA证书输入到一个新的信任库文件中。这个信任库被客户端使用,被用来验证服务器端的身份。
keytool-import-filetest_axis.cer-storepasschangeit-keystoreclient.truststore-aliasserverkey-noprompt
以上命令执行完成后,将获得一个名为client.truststore的信任库。
3)同理生成客户端的密匙库client.keystore和服务器端的信任库server.truststore.方便起见给出.bat文件
gen-cer-store.bat内容如下:
setSERVER_DN="CN=Server,OU=ec,O=ec,L=nanchang,S=jiangxi,C=CN"
setCLIENT_DN="CN=Client,OU=ec,O=ec,L=nanchang,S=jiangxi,C=CN"
setKS_PASS=-storepassstrongit
setKEYINFO=-keyalgRSA
keytool-genkey-aliasServer-dname%SERVER_DN%%KS_PASS%-keystoreserver.keystore%KEYINFO%-keypassstrongit
keytool-export-aliasServer-filetest_axis.cer%KS_PASS%-keystoreserver.keystore
keytool-import-filetest_axis.cer%KS_PASS%-keystoreclient.truststore-aliasserverkey-noprompt
keytool-genkey-aliasClient-dname%CLIENT_DN%%KS_PASS%-keystoreclient.keystore%KEYINFO%-keypassstrongit
keytool-export-aliasClient-filetest_axis.cer%KS_PASS%-keystoreclient.keystore
keytool-import-filetest_axis.cer%KS_PASS%-keystoreserver.truststore-aliasclientkey-noprompt
好的,现在我们就有了四个文件:server.keystore,server.truststore,client.keystore,client.truststore
更改Tomcat的配置文件(server.xml),增加以下部署描述符:(其实里面有,只是被注释掉了)
<Connectorport="8440"
maxThreads="150"minSpareThreads="25"maxSpareThreads="75"
enableLookups="false"disableUploadTimeout="true"
acceptCount="100"scheme="https"secure="true"
clientAuth="true"keystoreFile="f:\server.keystore"keystorePass="changeit"
truststoreFile="f:\server.truststore"truststorePass="changeit"
sslProtocol="TLS"/>
这里主要讲如何使用JDK自带的工具创建密匙库和信任库
分享到:
相关推荐
HTTPS协议是HTTP与SSL/TLS的结合,提供了加密传输和身份验证。C++中可以使用OpenSSL库来实现HTTPS通信。 7. **性能优化** 对于大规模的网络应用,性能优化是关键。可以通过缓存、多线程、异步I/O等方式提高网络...
首先,理解HTTPS(超文本传输安全协议)是HTTP的安全版本,它通过SSL/TLS协议对数据进行加密,以确保数据在传输过程中的隐私和完整性。在Java中,通过`javax.net.ssl`包提供的类可以支持HTTPS连接。 Apache Axis是...
HTTPS(Hypertext Transfer Protocol Secure)是一种基于HTTP的安全协议,它通过SSL/TLS(Secure Sockets Layer/Transport Layer Security)提供加密处理、服务器身份验证和消息完整性检查,确保数据在网络间传输时...
WebService通常使用SOAP(Simple Object Access Protocol)协议进行通信,而HTTPS协议则用于在传输层提供安全连接。在调用HTTPS接口时,需要配置Web Service客户端以支持HTTPS。这通常涉及到设置URL为HTTPS格式,...
首先,我们需要理解HTTPS的核心特性:它基于HTTP协议,但在数据传输层增加了SSL/TLS协议,提供了加密处理、服务器身份验证和消息完整性检查,以防止中间人攻击。 1. **配置信任的CA证书** 在调用HTTPS服务时,Java...
HTTPS是一种安全的通信协议,它在HTTP基础上增加了SSL/TLS层,用于加密传输数据,防止中间人攻击。在Java中,HTTPS通常需要服务器证书和私钥,这些通常存储在JKS(Java Key Store)文件中。 4. **配置JKS**: JKS...
SSL(Secure Socket Layer)和其后续版本TLS(Transport Layer Security)是网络通信中的安全协议,主要用于确保数据在互联网上的安全传输。它们通过加密技术实现数据的私密性,通过身份验证确保通信双方的真实身份...
- HTTPS安全基础:HTTPS是HTTP协议与SSL/TLS协议的结合,用于加密传输数据,确保通信的安全性。 - 配置证书:为客户端和服务端生成或获取数字证书,以建立安全连接。证书可能需要导入到Java的信任库或CXF配置中。 ...
HTTPS(HyperText Transfer Protocol Secure)是HTTP的安全版本,它利用SSL/TLS协议对传输的数据进行加密,确保数据的机密性和完整性,防止中间人攻击。 首先,要调用HTTPS格式的Web Service,你需要确保你的开发...
为了解决这个问题,通常会将HTTP升级为HTTPS(超文本传输安全协议),它通过SSL/TLS协议提供加密处理和身份认证。在这个场景下,我们将探讨如何使用WebLogic,一个由Oracle公司提供的Java应用服务器,来将HTTP转换为...
总的来说,通过Apache CXF和Spring框架,我们可以轻松地构建基于HTTPS的Web服务,确保数据传输的安全性。理解并掌握这种开发方式对于任何涉及Web服务交互的Java开发者都至关重要。同时,对于理解和实施安全通信标准...
6. 不常用协议连接:这可能指的是除了HTTP/HTTPS之外的网络协议,如FTP、SMTP、TCP/IP直连等,这些在特定场景下可能会用到。 压缩包内的文件: - JavaApk源码说明.txt:很可能包含对源代码的解释和指导,帮助理解...
它通过SSL/TLS协议来加密HTTP通信内容,确保客户端与服务器之间的数据传输不被窃听或篡改。 - **WebService简介**:WebService是一种跨编程语言和操作系统平台的应用程序接口(API),允许应用程序之间通过网络进行...
HTTPS是一种安全的通信协议,它结合了HTTP协议与SSL/TLS协议,能为数据传输提供加密和身份验证,确保数据在传输过程中的安全性和完整性。 首先,我们需要理解“Java端写的https webservices”。在Java中,可以使用...
### CXF实现SSL安全验证 在现代网络应用中,安全通信是至关重要的。Apache CXF 是一个开源项目,提供了一套强大的工具和服务框架,用于构建和开发基于标准的服务(如 Web Services)。本文将详细介绍如何使用 CXF ...
- **工作原理**:WebService通过HTTP协议传输基于XML的数据,使用SOAP(Simple Object Access Protocol)作为消息传递协议,WSDL(Web Services Description Language)用于描述服务,UDDI(Universal Description,...
在Webservice中,SSL常用于保护SOAP消息的传输,确保服务调用的安全性。 SSL工作流程主要包括以下几个步骤: 1. 握手协议:客户端和服务器端通过SSL握手协议建立连接,确定加密算法、交换会话密钥等。 2. 身份验证...
而HTTPS(HTTP over SSL/TLS)则是一种安全的网络通信协议,用于保护数据传输过程中的隐私和完整性。 【描述】"cxf 调用https webservice接口 ,此工程jar包齐全可直接导入eclipse进行二次开发"指出,这个压缩包...
例如,在通信层中可以使用 SSL/TLS 加密协议来保护数据传输,使用身份验证机制来确保只有授权用户可以访问 WebService。 SOAP 安全是指在 WebService 中使用 SOAP 协议来实现安全保护的机制,包括身份验证、访问...