openssl1.0.1u中没有SSL_CTX_set1_sigalgs_list,如何实现功能
时间: 2023-10-10 22:12:55 浏览: 334
`SSL_CTX_set1_sigalgs_list` 是在 OpenSSL 1.0.2 版本中引入的,如果您的 OpenSSL 版本较低,则无法使用该函数。但是,您可以通过其他方式实现相同的功能。
您可以使用 `SSL_CTX_set_cipher_list` 函数来设置加密套件列表,该列表将限制可以使用的签名算法。您可以将签名算法名称添加到加密套件列表中,以限制可以使用的签名算法。例如,要限制使用 SHA256 和 SHA384 签名算法,您可以将以下内容添加到加密套件列表中:
```
SSL_CTX_set_cipher_list(ctx, "HIGH:!aNULL:!kRSA:!PSK:!SRP:!MD5:!RC4:!SHA1:@STRENGTH:!SHA256:!SHA384");
```
这将限制可以使用的加密套件为“HIGH”,并将禁用所有具有 NULL、RSA、PSK、SRP、MD5、RC4 和 SHA1 签名算法的套件。此外,通过使用“!SHA256”和“!SHA384”选项,将限制可以使用的签名算法为 SHA256 和 SHA384。
需要注意的是,使用 `SSL_CTX_set_cipher_list` 函数设置加密套件列表时,需要小心确保列表中的加密套件和签名算法符合您的要求。否则,可能会导致安全漏洞。
相关问题
openssl1.0.1中没有SSL_CTX_set1_sigalgs_list(ctx, "RSA+SHA256"),如何实现
如果你使用的是 OpenSSL 1.0.1 版本,那么可以通过以下方式实现 SSL_CTX_set1_sigalgs_list(ctx, "RSA+SHA256") 的功能:
1. 手动设置支持的签名算法列表。可以通过以下代码设置:
```
static const char *sigalgs_list = "RSA+SHA256"; // 支持的签名算法列表
static int sigalgs_cb(SSL *ssl, const unsigned char **sig, size_t *siglen, const EVP_MD *digest)
{
// 判断签名算法是否支持
if (ssl_sigalg_supported(ssl, digest))
return tls12_sigalgs_list_from_string(sigalgs_list, sig, siglen);
else
return -1;
}
// 设置 SSL_CTX 的回调函数
SSL_CTX_set_verify(ssl_ctx, SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT, NULL);
SSL_CTX_set_cert_verify_callback(ssl_ctx, sigalgs_cb, NULL);
```
2. 升级 OpenSSL 版本。如果你的应用程序对 OpenSSL 版本没有特殊要求,建议升级至 OpenSSL 1.0.2 或更高版本。在 OpenSSL 1.0.2 版本中,已经支持了 SSL_CTX_set1_sigalgs_list 函数。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)