gpt4 book ai didi

perl - 从 SSL 切换到 TLS 连接

转载 作者:太空宇宙 更新时间:2023-11-03 13:09:28 27 4
gpt4 key购买 nike

我有一个 Perl 脚本,它使用 SSL 将一些文件上传到服务器。现在我们需要将其更改为 TLS。由于我不知道该怎么做,有人可以提供帮助。下面是处理证书功能的 block 。

sub check_ssl_cert {
use Net::SSLeay;
Net::SSLeay::set_proxy("proxye.hypo.de",80);
# $Net::SSLeay::trace = 9 if ($opt_d);
my ($page, $response, $headers, $server_cert) = Net::SSLeay::get_https3("$buba_srv", 443, "/");
print DEBUG "\n","#"x80,"\n", 'CERT: ' . $server_cert . "\n","-"x80,"\n" . $headers . "\n","-"x80,"\n" if ($opt_d);
if (!defined($server_cert) || ($server_cert == 0)) {
my $subject="Der BuBa Server gibt kein Zertifikat raus. Mit denen red ich nicht.";
my $message="HTTP Response: <" . $response . ">\n" .
"HTTP Headers: ---------------------------------------------------------------\n" .
$headers .
"HTTP Body: -------------------------------------------------------------------\n" .
$page .
"------------------------------------------------------------------------------\n" ;
&send_errormail($buba_srv, $subject, $message);
exit 5;
}
my $ssl_subject_name = Net::SSLeay::X509_NAME_oneline(Net::SSLeay::X509_get_subject_name($server_cert));
my $ssl_issuer_name = Net::SSLeay::X509_NAME_oneline(Net::SSLeay::X509_get_issuer_name($server_cert));
}

最佳答案

您已经在使用 TLS。 “SSL”是协议(protocol)旧版本的名称,“TLS”是新版本的名称。大多数网站不再接受使用正式称为“SSL”的协议(protocol)版本的连接。以下是 TLS 版本状态的摘要:

  • SSLv1:太破烂了,甚至没有公开发布。
  • SSLv2:陈旧且埋没。
  • SSLv3:已损坏,请勿使用,除非您拥有无法升级的旧设备并且位于受良好保护的网络上,而不是面向互联网。
  • TLSv1.0:已弃用但仍可安全使用。
  • TLSv1.1:已弃用但仍可安全使用。
  • TLSv1.2:推荐。
  • TLSv1.3:即将推出。

您可以调用Net::SSLeay::get_options检查 SSLv3 是否被禁用,即检查您的客户端是否会拒绝连接到仅支持 SSLv3 的服务器。您应该确保在您的客户端上禁用 SSLv3:想要破坏您的安全的攻击者可能会伪装成合法服务器,让您的客户端连接,然后利用旧协议(protocol)的漏洞来成功冒充合法服务器服务器。由于您要连接到特定服务器,如果该服务器支持 TLS 1.2,还可以通过调用 Net::SSLeay::set_options 禁用 TLS 1.0 和 1.1。

关于perl - 从 SSL 切换到 TLS 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46948934/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com