首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >限制OpenSSL服务器密码选项

限制OpenSSL服务器密码选项
EN

Stack Overflow用户
提问于 2013-08-27 01:09:53
回答 1查看 5.1K关注 0票数 1

在我们当前的环境中,安全运行扫描来寻找漏洞。OpenSSL (当前版本)不断出现一个问题,4-5个密码低于128kb的加密级别,并标记扫描仪。

由于知道客户端必须指定选项,因此在某些情况下,最好限制服务器接受低密码的选择。如果可以做到这一点,那么客户端请求什么就不重要了。有一个关于接受什么的配置选项有意义吗?

在我的具体案例中,我们正在测试一个用于文件传输的测试版软件,它将openSSL密码拉入其客户端。目前没有限制这一点的选项。

我也向测试版软件开发人员提出了类似的问题。

EN

回答 1

Stack Overflow用户

发布于 2013-08-27 20:29:00

您可以使用SSL_CTX_set_cipher_list()来限制密码列表。

代码语言:javascript
复制
#include <iostream>
#include <openssl/ssl.h>

// List of allowed ciphers in a colon-seperated list. Example limits ciphers to AES-256 only
const char *allowedCiphers = "AES256-SHA256:AES256-GCM-SHA38:DHE-RSA-AES256-SHA256";

bool SetCiphers(SSL *sslContext, const char *ciphers);

int main()
{
   // Create a ssl context here etc.
   SSL *ssl = ...;

   // Set the allowed ciphers
   if (!SetCiphers(ssl, allowedCiphers))
      exit(-1);

   // Process...
   return 0;
}

bool SetCiphers(SSL *sslContext, const char *ciphers)
{
   if (SSL_CTX_set_cipher_list(sslContext, ciphers) != 1)
   {
      std::cerr << L"[SSL_CTX_set_cipher_list] failed; could not find a suitable cipher in the provided list of ciphers \"" 
         << ciphers << "\"." << endl;
      return false;
   }
   return true;
}

在shell中运行openssl ciphers -v,查看系统上支持的密码列表。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18449332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档