`
wsqwsq000
  • 浏览: 684975 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

webservice采用ssl/https传输

    博客分类:
  • j2ee
 
阅读更多

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自带的工具创建密匙库和信任库

分享到:
评论

相关推荐

    java 调用https webservice实例及axis包

    首先,理解HTTPS(超文本传输安全协议)是HTTP的安全版本,它通过SSL/TLS协议对数据进行加密,以确保数据在传输过程中的隐私和完整性。在Java中,通过`javax.net.ssl`包提供的类可以支持HTTPS连接。 Apache Axis是...

    C++中通过Webservice和HTTP协议的网络传输

    HTTPS协议是HTTP与SSL/TLS的结合,提供了加密传输和身份验证。C++中可以使用OpenSSL库来实现HTTPS通信。 7. **性能优化** 对于大规模的网络应用,性能优化是关键。可以通过缓存、多线程、异步I/O等方式提高网络...

    spring+CXF实现WebService(http+https)

    HTTPS是一种安全的通信协议,它在HTTP基础上增加了SSL/TLS层,用于加密传输数据,防止中间人攻击。在Java中,HTTPS通常需要服务器证书和私钥,这些通常存储在JKS(Java Key Store)文件中。 4. **配置JKS**: JKS...

    linux、webservice、ssl、socket、搜索引擎nutch.rar

    SSL(Secure Socket Layer)和其后续版本TLS(Transport Layer Security)是网络通信中的安全协议,主要用于确保数据在互联网上的安全传输。它们通过加密技术实现数据的私密性,通过身份验证确保通信双方的真实身份...

    调用https协议的webservice,以及证书手动加载

    HTTPS(Hypertext Transfer Protocol Secure)是一种基于HTTP的安全协议,它通过SSL/TLS(Secure Sockets Layer/Transport Layer Security)提供加密处理、服务器身份验证和消息完整性检查,确保数据在网络间传输时...

    webservice+https.zip

    WebService通常使用SOAP(Simple Object Access Protocol)协议进行通信,而HTTPS协议则用于在传输层提供安全连接。在调用HTTPS接口时,需要配置Web Service客户端以支持HTTPS。这通常涉及到设置URL为HTTPS格式,...

    CXF实现SSL安全验证

    ### CXF实现SSL安全验证 在现代网络应用中,安全通信是至关重要的。Apache CXF 是一个开源项目,提供了一套强大的工具和服务框架,用于构建和...这种方式不仅确保了数据传输的安全性,还提高了系统的整体安全等级。

    使用cxf和spring开发基于https的webservice服务端以及客户端样例

    总的来说,通过Apache CXF和Spring框架,我们可以轻松地构建基于HTTPS的Web服务,确保数据传输的安全性。理解并掌握这种开发方式对于任何涉及Web服务交互的Java开发者都至关重要。同时,对于理解和实施安全通信标准...

    Java中如何通过https调用Webservice接口_测试环境.rar

    首先,我们需要理解HTTPS的核心特性:它基于HTTP协议,但在数据传输层增加了SSL/TLS协议,提供了加密处理、服务器身份验证和消息完整性检查,以防止中间人攻击。 1. **配置信任的CA证书** 在调用HTTPS服务时,Java...

    WebService加密 for SoapHeader

    在对SoapHeader进行加密时,我们通常采用SSL/TLS(Secure Sockets Layer/Transport Layer Security)协议,该协议可以对网络上的数据传输进行加密,确保信息不被第三方窃取或篡改。在WebService客户端,我们需要配置...

    调用https格式的webservice jar包。

    HTTPS(HyperText Transfer Protocol Secure)是HTTP的安全版本,它利用SSL/TLS协议对传输的数据进行加密,确保数据的机密性和完整性,防止中间人攻击。 首先,要调用HTTPS格式的Web Service,你需要确保你的开发...

    https连接webservice

    通过HTTPS协议加密传输的WebService可以有效防止数据泄露和中间人攻击。 #### 二、建立私密连接的步骤 1. **环境准备**: - 操作系统:Windows 7 - Web服务器:Tomcat 7 - JDK版本:1.7 2. **使用JDK的...

    SSL数据加密的好资料

    在Webservice中,SSL常用于保护SOAP消息的传输,确保服务调用的安全性。 SSL工作流程主要包括以下几个步骤: 1. 握手协议:客户端和服务器端通过SSL握手协议建立连接,确定加密算法、交换会话密钥等。 2. 身份验证...

    webservice模拟客户端测试工具WebserviceStudio20.rar

    10. **安全性检查**:在测试过程中,工具可能提供安全方面的检查,例如检查SSL/TLS配置,确保数据传输的安全性。 在实际应用中,使用WebserviceStudio20这样的测试工具,开发者可以高效地测试Web服务的正确性、稳定...

    利用WebService编写的SendEMail程序

    在实际应用中,为了保证数据的安全性,WebService可能会采用HTTPS(HTTP over SSL/TLS)协议,以加密传输敏感信息,如密码或邮件内容。此外,为了防止过度使用或滥用服务,可能还会实现身份验证机制,如API密钥或...

    cxf https webservice

    而HTTPS(HTTP over SSL/TLS)则是一种安全的网络通信协议,用于保护数据传输过程中的隐私和完整性。 【描述】"cxf 调用https webservice接口 ,此工程jar包齐全可直接导入eclipse进行二次开发"指出,这个压缩包...

    WebService.zip

    5. **HTTP/HTTPS功能**:支持HTTP/1.x和HTTP/2,以及POST、PUT、DELETE等HTTP方法,符合RESTful API的设计原则。 【使用流程】 在本示例中,"WebService.zip"可能包含了基于VS2008编译的mongoose和Libcurl库。使用...

    c++调用webservice(包括静态和动态以及webservice源码)

    例如,对于安全要求较高的服务,可能需要集成SSL/TLS支持,处理证书验证。对于可能出现的网络问题,需要实现重试机制。 总之,C++调用WebService涉及多个技术栈的整合,包括HTTP通信、XML解析、SOAP消息处理等。...

    webservice demo

    "webservice demo"可能会介绍如何添加安全层,如SSL/TLS加密和WS-Security标准。 9. **最佳实践**:在开发Web服务时,需要注意性能优化、错误处理、版本控制和API设计的最佳实践。 10. **持续集成与部署**:随着...

Global site tag (gtag.js) - Google Analytics