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 单向认证模板