当前位置: 首页 > news >正文

haproxy集成国密ssl功能

1. 概述

1.1 缘起

   haproxy作为开源高性能http/tcp代理服务器得到了广泛应用,它可以支持国际ssl加密通信功能,但是对于国密ssl却一直没有被官方得到支持。随着国密标准规范的推广应用,以及等保2.0明确规定要求对网络通信中的报文或会话过程全文加密(三级),这样导致在haproxy在国内的很多业务场景中不符合等保要求而不能使用。因此有必要对haproxy进行国密ssl功能支持进行改造。
  铜锁/Tongsuo是由阿里巴巴基于openssl,衍生开发并开源的同时提供国际ssl和国密ssl的一个提供现代密码学算法和安全通信协议的开源基础密码库,为存储、网络、密钥管理、隐私计算等诸多业务场景提供底层的密码学基础能力,实现数据在传输、使用、存储等过程中的私密性、完整性和可认证性,为数据生命周期中的隐私和安全提供保护能力。
  本文描述了基于洞锁加密库,为haproxy添加国密ssl的加密传输能力。

1.2 支持的特性

  • 支持ntls v1.1 国密ssl 协议
  • 支持监听器国密ssl握手协议
  • 支持作为上游服务器的客户端进行国密ssl握手
  • 支持国际和国密双证书配置

2 环境搭建

2.1 测试环境准备

  为了支持测试国密测试,首先需要准备测试的客户端工具和web服务器。

  • 测试工具:支持国密ssl的curl
    国密curl下载链接
    直接下载linux版本的二进制文件,经测试在ubuntu 22.04中直接可以用。

  • 支持国密ssl的nginx web服务器
    国密nginx下载链接
    从以上地址下载源码后根据文档自行编译部署。
    最新版本的tengine需要修改一下configure:

./configure --prefix=/opt/nginx \--add-module=modules/ngx_tongsuo_ntls  \     

相关文章:

  • 23-k8s中的控制器资源-DaemonSet控制器
  • PiflowX-组件UnionAll
  • 【C++】vector模拟实现+迭代器失效
  • SSH连接密码问题:原因、表现与解决方案
  • rtt的io设备框架面向对象学习-软件模拟rtc设备
  • WebGL中开发科学数据可视化应用
  • 2.20数据结构与算法学习日记(二叉树第一部分)
  • 利用MATLAB/Simulink仿真模型加速嵌入式控制系统的开发——以多学科融合的电机控制为例
  • ubuntu分辨率更改、开机被重置、ubuntu屏幕小
  • 【Git教程】(二)入门 ——关于工作区与版本库、版本提交、查看信息、克隆、推送与拉回的简单介绍 ~
  • Spring Boot项目怎么对System.setProperty(key, value)设置的属性进行读取加解密
  • 02 环境配置
  • 并发编程入门指南
  • Sectigo多域名ssl证书加域名贵吗
  • c# 线性代数 克·施密特(Gram Schmidt)
  • JS 中的深拷贝与浅拷贝
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • CAP理论的例子讲解
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • Linux后台研发超实用命令总结
  • linux学习笔记
  • nfs客户端进程变D,延伸linux的lock
  • python学习笔记 - ThreadLocal
  • SAP云平台里Global Account和Sub Account的关系
  • SpringBoot几种定时任务的实现方式
  • unity如何实现一个固定宽度的orthagraphic相机
  • Vultr 教程目录
  • 不上全站https的网站你们就等着被恶心死吧
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 微信开源mars源码分析1—上层samples分析
  • 我有几个粽子,和一个故事
  • 一个SAP顾问在美国的这些年
  • 进程与线程(三)——进程/线程间通信
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (2)(2.10) LTM telemetry
  • (AngularJS)Angular 控制器之间通信初探
  • (js)循环条件满足时终止循环
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • **CI中自动类加载的用法总结
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET Core 中的路径问题
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • [17]JAVAEE-HTTP协议
  • [2013][note]通过石墨烯调谐用于开关、传感的动态可重构Fano超——
  • [2021 蓝帽杯] One Pointer PHP
  • [BZOJ4010]菜肴制作