SSL安全参数
结构定义
在文件 mcossl.h
中,结构体 mco_ssl_params_t 中的 SSL 参数定义如下:
typedef struct mco_ssl_params_t_ {
const char *cipher_list;
long max_cert_list;
long options;
void *tmp_dh;
int verify_mode;
int verify_depth;
void *certificate;
void *private_key;
const char *certificate_file;
const char *private_key_file;
} mco_ssl_params_t;
参数说明
参数 | 描述 | 默认值 |
---|---|---|
cipher_list | 字符串,包含SSL引擎的密码列表 | HIGH:!aNULL:!kRSA!PSK:!SRP:!MD5:!RC4 |
max_cert_list | 证书链的最大长度,单位为字节 | 102400 |
options | 对端验证方式 MCO_SSL_VERIFY_* 组合 | MCO_SSL_OP_NO_SSLv2| MCO_SSL_OP_NO_SSLv3| MCO_SSL_OP_SINGLE_DH_USE| MCO_SSL_OP_NO_COMPRESSION(when avail |
tmp_dh | 临时DH密钥交换的PEM编码的DH参数 | NULL |
verify_mode | 对等验证模式。MCO_SSL_VERIFY_* 组合 | MCO_SSL_VERIFY_PEER| MCO_SSL_VERIFY_FAIL_IF_ NO_PEER_CERT |
verify_depth | 证书链验证的最大深度 | 100 |
certificate | 编码证书 | NULL |
private_key | 编码的私钥 | NULL |
certificate_file | 编码证书文件的路径 | NULL |
private_key_file | 编码私钥文件的路径 | NULL |
options枚举值
- MCO_SSL_OPT_NO_SSLV2pher_list :禁用 SSL 2。
- MCO_SSL_OPT_NO_SSLV3max_cert_list:禁用 SSL 3。
- MCO_SSL_OPT_NO_TLSV1_0:禁用 TLS 1.0。
- MCO_SSL_OPT_NO_TLSV1_1tmp_dh:禁用 TLS 1.1。
- MCO_SSL_OPT_NO_TLSV1_2verify_mode:禁用 TLS 1.2。
- MCO_SSL_OPT_NO_COMPRESSIONverify_depth:禁用压缩。
- MCO_SSL_OPT_SINGLE_DH_USEcertificate:使用临时 DH 参数时始终创建新密钥。
verify_mode枚举值
- MCO_SSL_VERIFY_NONE:禁用对等验证。
- MCO_SSL_VERIFY_PEER:启用对等验证。
- MCO_SSL_VERIFY_FAIL_IF_NO_PEER_CERT:如果对等方未发送证书,则验证失败。
- MCO_SSL_VERIFY_CLIENT_ONCE:仅在初始握手时请求客户端证书。