一、前言
国密即国家密码局认定的国产密码算法,它是我国自主研发创新的一套数据加密处理系列算法。从SM1-SM4分别实现了对称、非对称、摘要等算法功能。在openssl1.3版本后支持自主研发国密算法。
BabaSSL是一个现代的密码学和通信安全协议的基础库,诞生于阿里巴巴集团和蚂蚁集团内部。它支持TLS1.3+国密(RFC8998)、SM2单证书、SM2双证书。
libvirt tls 热迁移默认支持x509 certificate 证书进行数据加密通信,生成ca证书及公私钥的常用方式:1.基于openssl命令行生成;2.基于guntls命令行生成。这两种方式都是基于开源软件的加密算法保证数据加密通信,存在不可控风险。本文讲述libvirt tls热迁移数据加密支持国密算法,采用Babassl组件生成SM2证书,在宿主机上使用Babassl库文件替换开源的openssl库文件的方式。
二、libvirt tls 热迁移方案验证(使用Babassl生成ca证书及密钥)
1.下载Babassl源码
(1) 下载代码
git clone https://github.com/BabaSSL/BabaSSL.git
(2)编译打包,建议在centos8环境下编译
rpm -ba BabaSSL/rpm/babassl.spec
(3)安装Babassl rpm
rpm -ivh babassl*.rpm