+ 消息验证码(MAC) 或伪随机函数(PRF):用于验证数据完整性并防止篡改(例如SHA256)。
![在此插入图片描述](https://img-blog.csdnimg.cn/direct/4242e2d123ba449db4e0b52239020349.png)
如何指定加密套件
使用OpenSSL 或Nginx 实现SSL/TLS 协议时,必须指定密码套件。一般来说,这样指定就足够了。这意味着指定的密码套件可以是任意算法,但身份认证算法和加密算法不能为空。这样,客户端和服务器自动协商通信的密码套件。 ssl_ciphers ALL:aNULL; #配置Nginx密码套件
SSL_CTX_set_cipher_list(ServerCTX, \’ALL:aNULL\’); #openssl接口配置密码套件
* 但是,如果您希望自己指定密码套件,则可以使用下面列表中的密码套件。
| 序列号| 密码套件(openssl 接口指定名称) |
| — | — |
| 1 | TLS\\_AES\\_256\\_SHA384 |
| 2 | TLS\\_CHACHA20\\_POLY1305\\_SHA256 | 可选
| 3 | TLS\\_AES\\_128\\_SHA256 | 任何
| 4 | TLS\\_ECDSA\\_AES\\_SHA384 | AESGCM(256)
| 5 | TLS\\_ECDHE\\_256\\_GCM\\_SHA384 |
| 6 | TLS\\_DHE\\_RSA\\_WITH\\_AES\\_SHA384 | AESGCM(256)
| 7 | TLS\\_ECDSA\\_POLY1305\\_SHA256 |
| 8 | TLS\\_ECDHE\\_RSA\\_WITH\\_CHACHA20-POLY1305 |
| 9 | TLS\\_DHE\\_RSA\\_与CHACHA20-POLY1305 |
| 10 | TLS\\_ECDHE\\_ECDSA\\_128\\_GCM\\_SHA256 |
| 11 | TLS\\_ECDHE\\_RSA\\_带\\_AES\\_SHA256 |
| 12 | TLS\\_DHE\\_RSA\\_带\\_AES\\_128\\_GCM\\_SHA256 |
| 13 | TLS\\_ECDSA\\_ECDSA\\_256\\_CBC\\_SHA384
| 14 | TLS\\_ECDHE\\_256\\_CBC\\_SHA384
15 | TLS\\_DHE\\_RSA\\_WITH\\_AES\\_CBC\\_SHA256 |
| 16 | TLS\\_ECDHE\\_ECDSA\\_128\\_CBC\\_SHA256
| 17 | TLS\\_ECDHE\\_128\\_CBC\\_SHA256
| 18 | TLS\\_DHE\\_RSA\\_WITH\\_AES\\_CBC\\_SHA256 |
| 19 | TLS\\_ECDHE\\_ECDSA\\_256\\_CBC\\_SHA |
| 20 | TLS\\_ECDHE\\_RSA\\_WITH\\_AES\\_256\\_CBC\\_SHA |
| 21 | TLS\\_DHE\\_RSA\\_WITH\\_AES\\_CBC\\_SHA |
| 22 | TLS\\_ECDSA\\_WITH\\_CBC\\_SHA |
| 23 | TLS\\_ECDHE\\_RSA\\_WITH\\_AES\\_CBC\\_SHA |
| 24 | TLS\\_DHE\\_RSA\\_WITH\\_AES\\_CBC\\_SHA |
| 25 | RSA\\_PSK\\_256\\_GCM\\_SHA384
| 26 | DHE\\_PSK\\_256\\_GCM\\_SHA384 | AESGCM(256)
27 | TLS\\_RSA\\_PSK\\_WITH\\_CHACHA20\\_POLY1305\\_SHA256 |
| 28 | TLS\\_DHE\\_PSK\\_带\\_CHACHA20\\_POLY1305 |
| 29 | TLS\\_ECDHE\\_PSK\\_带\\_POLY1305\\_SHA256 |
| 30 | TLS\\_RSA\\_256\\_GCM\\_SHA384
| 31 | PSK\\_AES\\_256\\_GCM\\_SHA384 | AESGCM(256)
| 32 | TLS\\_PSK\\_CHACHA20/POLY1305(PSK)
33 | RSA\\_PSK\\_128\\_GCM\\_SHA256 | AESGCM(128)
| 34 | DHE\\_PSK\\_AES\\_GCM\\_SHA256 | AESGCM(128)
| 35 | TLS\\_RSA\\_128\\_GCM\\_SHA256
| 36 | PSK\\_AES\\_128\\_GCM\\_SHA256 | AESGCM(128)
| 37 | TLS\\_RSA\\_256\\_CBC\\_SHA256
| 38 | TLS\\_RSA\\_WITH\\_128\\_SHA256 |
| 39 | ECDHE\\_PSK\\_带\\_256\\_CBC\\_SHA384
| ECDHE\\_PSK\\_WITH\\_256\\_CBC\\_SHA | ECDHE-PSK-AES256
41 | RSA\\_PSK\\_256\\_CBC\\_SHA384 |
42 | DHE\\_PSK\\_256\\_CBC\\_SHA384 |
43 | RSA\\_PSK\\_WITH\\_256\\_CBC\\_SHA |
| 44 | DHE\\_PSK\\_256\\_CBC\\_SHA |
| 45 | TLS\\_RSA\\_256\\_CBC\\_SHA |
| 46 | PSK\\_AES\\_256\\_CBC\\_SHA384
| 47 | PSK\\_AES\\_256\\_CBC\\_SHA |
| ECDHE\\_PSK\\_WITH\\_128\\_CBC\\_SHA256 |
| 49 | ECDHE\\_PSK\\_WITH\\_128\\_CBC\\_SHA |
| 50 | RSA\\_PSK\\_128\\_CBC\\_SHA256 |
| 51 | DHE\\_PSK\\_带\\_128\\_CBC\\_SHA256
| 52 | RSA\\_PSK\\_WITH\\_128\\_CBC-SHA |
| 53 | DHE\\_PSK\\_WITH\\_128\\_CBC\\_SHA |
| 54 | TLS\\_RSA\\_128\\_CBC\\_SHA |
| 55 | PSK\\_AES\\_128\\_CBC\\_SHA256
| 56 | PSK\\_AES\\_128\\_CBC\\_SHA |
*当然不能随意指定,但是指定的话就看客户端是否支持了。例如,如果您使用Google Chrome访问Nginx服务,则可以通过抓包看到客户端支持的所有密码套件。那么,当服务器指定密码套件时,它只能选择以下支持的密码套件之一:
![在此插入图片描述](https://img-blog.csdnimg.cn/direct/002b85ac64d24e96b8524892a4a52841.png)
## 命令行工具
* OpenSSL提供命令行工具来查看密码套件
* 1. 显示OpenSSL支持的所有密码套件。
![img](https://img-blog.csdnimg.cn/img_convert/62b69b512f82493ede0bec5c563f6dbf.png)
![img](https://img-blog.csdnimg.cn/img_convert/18347a15fc147353c363ab11a3ef5338.png)
![img](https://img-blog.csdnimg.cn/img_convert/b025b4b71b49dd848a68d38d9fd934f5.png)
** 涵盖95%以上的软件测试知识点,既有适合初学者学习的基础教材,也有适合3年以上经验的朋友深入学习和提高的高级课程,非常系统。 **
qtqWTS-1719257708593)]
** 涵盖95%以上的软件测试知识点,既有适合初学者学习的基础教材,也有适合3年以上经验的朋友深入学习和提高的高级课程,非常系统。 **
基于#TLS 测试中OpenSSL_openssl 的使用对SSL TLS 密码套件的完整分析,仅供参考。相关信息请参见官方公告。
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/92152.html