- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
有关椭圆曲线加密套件的测试说明
有关椭圆曲线加密套件的测试说明
OPENSSL的底层加密套件要被协议层客户端和服务端加载使用的话,要满足两个条件。首先,服务端和客户端都得支持这一加密套件,其次便是我们所用的证书也得支持客户端和服务端加载使用的加密套件。
一、首先,我们先谈谈加密套件。对于一个完整的椭圆曲线加密套件,它的定义在OpenSSL/SSL/s3_lib.c中
/* Cipher C004 */
{
1,
TLS1_TXT_ECDH_ECDSA_WITH_AES_128_CBC_SHA,
TLS1_CK_ECDH_ECDSA_WITH_AES_128_CBC_SHA,
SSL_kECDHe,
SSL_aECDH,
SSL_AES128,
SSL_SHA1,
SSL_TLSV1,
SSL_NOT_EXP | SSL_HIGH | SSL_FIPS,
SSL_HANDSHAKE_MAC_DEFAULT | TLS1_PRF,
128,
128,
},
其中1表示是合法的加密套件;TLS1_TXT_ECDH_ECDSA_WITH_AES_128_CBC_SHA为加密套件的名字, TLS1_CK_ECDH_ECDSA_WITH_AES_128_CBC_SHA 为 加密套件 ID ,SSL_kECDHe指密钥交换采用ECDHE算法,SSL_aECDH指认证采用ECDH算法, SSL_AES128指对称加密算法采用AES128, SSL_SHA1指摘要采用SHA1, SSL_TLSV1指采用TLS协议第1版本SSL_NOT_EXP | SSL_HIGH | SSL_FIPS 表明了算法的强度,那么在以后的开发中,我们就可以仿照该加密套件创建自己的加密套件。
加密套件的名字和ID的定义在OpenSSL/SSL/ssl3.h以及openssl/SSL/tls1.h中定义,服务端程序中通过 SSL_CTX_set_cipher_list(ctx,ECDH-ECDSA-AES128-SHA) 这个函数就可以很轻松的选择一个我们需要的加密套件来进行客户端和服务端的交互,然而我们应该注意到 SSL_CTX_set_cipher_list()这个函数的参数是ECDH-ECDSA-AES128-SHA,而非上面我们说的加密套件的名字和ID,而在openssl/doc/ciphers.pod文件中,它把这个参数ECDH-ECDSA-AES128-SHA和加密套件的名字相对应起来。
说完了加密套件的名字和ID的定义,我们再来说说SSL_kECDHe,SSL_aECDH, SSL_AES128,SSL_SHA1,SSL_TLSV1等这些标识的定义,在openssl/SSL/ssl_loal.h
中,openssl对这些标识进行了定义。那么这些简单的标识是如何实现从EVP层调用加密算法的呢?
在目录openssl/SSL/SSL_cipher.c中,通过ssl_cipher_methods这个变量,可以放置EVP_CIPHER*以及EVP_MD* 类型算法,当我们添加一个加密套件时,需要将所添加的算法类型注册到文件中。ssl_cipher_methods这个变量在首次使用ssl算法库时加载,在函数ssl_load_ciphers中,可通过该变量中的EVP_get_digestbyname(SN_sha1)来加载SHA算法。
二、其次,我们来谈谈证书的生成。
对于ECC加密套件证书的生成,我们先生自签名的CA证书,然后生成服务端证书,最后用CA证书对服务端证书进行签名。
1.建立CA目录结构
mkdir -p ./demoCA/{private,cacaerts}
touch ./demoCA/index.txt
touch ./demoCA/serial
在serial文件中写入01,index.txt文件为空白
2.生成CA根证书前,要先生成ec密钥对
(1)生成ec曲线参数
openssl genpkey -genparam -algorithm EC -out cashu.pem -pkeyopt ec_paramgen_curve:secp384r1
(2)用生成的曲线参数生成ec密钥对
openssl genpkey?-paramfile?cashu.pem?-out?cakey.pem
(3)利用生成的ec密钥对生成自签名CA证书
openssl req -new -x509 -key cakey
您可能关注的文档
- 智能化综采工作面的优势与目前存在的缺陷.doc
- 智能化集成接口及系统调试检验批质量验收记录.doc
- 智慧养老系统规格说明书.docx
- 智能建筑设备调试记录.doc
- 智能小区各弱电系统绘图说明.doc
- 智能消费管理系统软件说明.doc
- 智能煤气泄漏报警控制器的设计与实现开题报告.docx
- 智能硬件行业发展前景预测报告目录.doc
- 日海无跳接光缆交接箱使用说明书.doc
- 智障儿童常见不良行为的教育措施初探(张学玲).doc
- 北京市第四十三中学2024_2025学年高二生物下学期期中试题.doc
- 浙江省湖州市2024_2025学年高二语文下学期期末考试试题扫描版.doc
- 2025版高考生物新金典大一轮复习课后定时检测案23基因突变与基因重组含解析新人教版.doc
- 湖北省襄阳四中2025届高三化学上学期11月份联考试题含解析.doc
- 河北省保定市2024_2025学年高一数学上学期期末考试试题扫描版.doc
- 山东省济宁市鱼台县第一中学2024_2025学年高一物理10月月考试题.doc
- 山西省太原市2024_2025学年高一地理上学期期末考试试题.doc
- 安徽省2025届高三化学上学期10月联考试题.doc
- 新课标2025版高考数学总复习第二章函数第五节指数与指数函数练习含解析文.docx
- 江苏专版2025版高考化学一轮复习跟踪检测十九化学平衡化学平衡常数的计算含解析.doc
文档评论(0)