https+xml服务端/客户端java后台编写及soapUI https测试

本文档详细介绍了如何使用Java在服务端创建HTTPS+xml服务,包括证书文件的创建、Tomcat的HTTPS配置、服务端代码编写以及客户端Java代码的实现。此外,还涵盖了使用soapUI进行接口测试的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、https+xml服务端编写

1.1 创建证书文件

1.1.1 创建服务器KeyStore

keytool -genkey -alias server_jks_cennavi -keyalg RSA -keypass 123456 -storepass 123456 -keystore server.jks -validity 3650

1.1.2 导出服务端证书

keytool -export -trustcacerts -alias server_jks_cennavi  -file server.cer -keystore  server.jks -storepass 123456

1.1.3 创建客户端KeyStore

keytool -genkey -alias client_p12_cennavi -keyalg RSA -keypass 123456 -storepass 123456 -keystore client.p12 -validity 3650 -storetype PKCS12

1.1.4 导出客户端Cer证书

keytool -export -trustcacerts -alias client_p12_cennavi  -file client.cer -keystore  client.p12 -storepass 123456 -storetype PKCS12

1.1.5 交换证书

交换导入服务端和客户端证书,作为双方信任证书。
keytool -import -trustcacerts -alias client_p12_cennavi -file client.cer -keystore server.jks
keytool -import -trustcacerts -alias server_jks_cennavi -file server.cer -keystore client.jks

1.2 tomcat https配置

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="true" sslProtocol="TLS" keystoreFile="C:\Users\hsinghsu\server.jks" keystorePass="123456"
               truststoreFile="C:\Users\hsinghsu\server.jks" truststorePass="123456"/>
注:以上配置为https双向验证,若只要https服务端的单向验证,则将clientAuth="true" 和truststoreFile="C:\Users\hsinghsu\server.jks" truststorePass="123456" 配置去掉即可。

1.3 服务端java代码编写

1.3.1 编写servlet服务端代码

编写servlet代码,用于获取用户https+xml/http+xml请求,解析请求后进行相应业务为逻辑处理返回相应信息给请求方。
package com.hsinghsu.test.web.servlet;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.zip.GZIPOutputStream;

import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class TestInterfaceServlet extends HttpServlet
{
    
    /**
     * 对外接口主入口
     * 用于获取用户请求,返回用户请求使用。
     */
    public void service(ServletRequest request, ServletResponse response)
        throws ServletException, IOException
    {
        HttpServletResponse httpResponse = (HttpServletResponse)response;
        HttpServletRequest httprequest = (HttpServletRequest)request;
        httpResponse.setContentType("text/html;charset=UTF-8");
        
        Map<String, String> mapHeader = getHeaderMap(httprequest);// 获取http头信息
        
        Stri
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值