Skip to main content

HandleHttpRequest HTTPS单向安全认证访问

1 目的

使用HTTPS协议保证通信安全,实现访问控制,避免用户信息泄露,降低被劫持的风险。

2 示例描述

本示例先阐述最常用的SSL单向验证的配置.

  • 请求数据: HTTPs请求(仅测试,故body内容为空即可)
https://localhost:20003/ssl
  • 响应数据:HTTP回复文本,当然也可以封装成JSON内容
The handshake was successful!

:此示例为测试方便,故而引入平台提供的InvokeHTTP组件调用由HandleHttpRequest构建出来的API服务。

3 流程说明

3.1 HandleHttpRequest HTTPS配置

  • 监听端口:使用未被占用端口,本示例使用20003
  • SSL服务:创建StandardRestrictedSSLContextService,重命名为StandardRestrictedSSLContextService4Server后进行配置并启动,具体步骤见下面 StandardRestrictedSSLContextService4Server配置
  • 允许路径:可自行配置,本示例使用/ssl
  • 客户端身份认证 : 本示例阐述HTTPS单向认证,不对客户端证书进行认证,故使用默认值"不认证",

StandardRestrictedSSLContextService4Server配置

  • KeyStore Filename : 服务器keystore文件路径,存放服务器端的私钥和证书.
  • Trustore Filename : 服务器Trustore文件路径,存放信任的CA证书(用于客户端证书验证),本示例不对客户端进行认证,故不做配置.

3.2 ReplaceText 配置

替换值参数设置,此示例设置为文本:The handshake was successful!

3.3 HandleHttpResponse配置

3.4 InvokeHttp 配置

  • HTTP方法:本示例仅测试URL,使用默认的GET方法,需要将输入数据流的内容作为请求的主体时请使用PUT,POST或PATCH方法.
  • 远程URL: "https://localhost:20003/ssl"
  • SSL服务: 创建StandardRestrictedSSLContextService,重命名为StandardRestrictedSSLContextService4Client后进行配置并启动,具体步骤见下面设置。

StandardRestrictedSSLContextService4Client配置

  • KeyStore Filename : 客户端keystore文件路径,存放客户端的私钥和证书.
  • Trustore Filename : 客户端Trustore文件路径,存放信任的CA证书(用于服务器端证书验证).

注意:本示例使用的证书为自签证书,这里用keytool将服务器端CA证书Server.cer(Linux环境使用crt格式证书)加入到入到客户端Truststore中,如果使用三节证书链则需要导入服务器端Imediate CA证书到客户端Truststore中

keytool -import -trustcacerts -file server.cer /
-alias server_ca -keystore truststore_client_onlyca.jks /
-storepass 123456 -noprompt
  • 调度时间间隔:修改默认的调度时间,设置为1d或较大时间间隔,防止瞬间产生大量请求.

4 实际输出数据:

拥有数据溯源权限用户: 可以直接启动所有组件然后通过数据溯源查看InvokeHttp组件输出.

没有数据溯源权限用户:启动除了LogAttribute之外的所有组件,将response流文件阻塞在队列中,查看队列列表

随后即可查看response流文件.

模板

参见附件(请右键另存保存):HTTPS 单向认证模板