(ssl_cipher.cc)
在boringssl下拟添加套件详细信息
(tls1.h)声明套件名称
TLS1_TXT_ECC_WITH_SM4_SM3
TLS1_CK_ECC_WITH_SM4_SM3
声明算法协商宏定义
TLS1_CK_ECDHE_WITH_SM4_SM3
TLS1_CK_ECC_WITH_SM4_SM3
ssl文件夹下(internal.h)声明套件列表中各类算法
SSL_KSM2
SSL_aSM2DSA
SSL_SM4
SSL_SM3
需要先安装LLVM、go语言到系统环境变量Path,后修改上述两个文件objects.txt和obj_mac.num
要重新生成上述三个文件,请运行脚本 go run objects.go(boringssl)
【obj_dat.h】包含与内置OID本身对应的ASN1_OBJECT 以及用于按短名称、OID等进行搜索的查找表。
【obj_mac.num】是每个OID的NID值列表。这是一个输入/输出 文件,以便NID值在重新生成过程中保持稳定。
【objects.txt】包含所有内置OID的列表。它由【objects.go】处理输出【obj_mac.num】【obj_dat.h】和【nid.h】
(evp.h+evp_local.h)
openssl中的EVP_MD 结构体
(internal.h+digest.h)
boringssl中的EVP_MD 结构体
openssl\evp.h ---> boringssl\ciper.h
根据openssl中的evp_lib.c对应修改boringssl下src\crypto\fipamodule\cipher.c
修改boringssl下的cipher.h
(evp_do_all.c)在总套件列表中新增算法模式
(cipher_extra.c)
EVP_get_cipherbynid
(cipher_extra.c)
EVP_get_cipherbyname