- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是使用 OpenSSL 库编程的新手,并且很难使用内存 BIO 实现握手。 (供以后使用 Overlapped I/O)
我不太明白不明确处理握手的示例,所以我做了一个只做握手的简单程序,但我从服务器收到了这个错误,
9332:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:ssl\record\ssl3_record.c:210:
18792:error:141A10F4:SSL routines:ossl_statem_client_read_transition:unexpected message:ssl\statem\statem_clnt.c:269:
SSL_set_min_proto_version
限制 TLS 版本和
SSL_set_max_proto_version
(以及这些函数的 CTX 版本)
TLS1_2_VERSION <= compatible <= TLS1_2_VERSION
.但错误仍然发生。
auto send = [&sock, &session]() -> void
{
if (session.should_send()) // BIO_ctrl_pending(bio_write)
{
std::vector<char> buffer(session.read_from_write_bio());
sock.send(buffer);
}
};
auto receive = [&sock, &session]() -> void
{
std::vector<char> buffer(sock.receive());
auto status = session.write_to_read_bio(buffer);
if (status != Status::DONE)
while (session.should_write_bio_again()) // BIO_should_retry(bio_read)
status = session.write_to_read_bio(buffer); // BIO_write(bio_read, ...)
if (session.handshaking()) // SSL_is_init_finished(ssl);
session.handshake(); // SSL_do_handshake(ssl);
else // for later use
{
std::vector<char> buffer(GetMaxBufferSize(), '\0');
session.read(buffer);
}
};
receive(); // client hello
send(); // server hello
receive(); // client spec
send(); // server spec
send(); // client hello
receive(); // server hello
send(); // client spec
receive(); // server spec
SSLv23_method
17484:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:.\ssl\s3_pkt.c:365:
2812:error:1408E0F4:SSL routines:ssl3_get_message:unexpected message:.\ssl\s3_both.c:408:
TLSv1_2_method
20472:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:.\ssl\s3_pkt.c:365:
8580:error:1408E0F4:SSL routines:ssl3_get_message:unexpected message:.\ssl\s3_both.c:408:
TLSv1_1_method
7868:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:.\ssl\s3_pkt.c:365:
3748:error:1408E0F4:SSL routines:ssl3_get_message:unexpected message:.\ssl\s3_both.c:408:
TLSv1_method
19008:error:1408E0F4:SSL routines:ssl3_get_message:unexpected message:.\ssl\s3_both.c:408:
9768:error:1408E0F4:SSL routines:ssl3_get_message:unexpected message:.\ssl\s3_both.c:408:
SSLv3_method
13948:error:1408E0F4:SSL routines:ssl3_get_message:unexpected message:.\ssl\s3_both.c:408:
14356:error:1408E0F4:SSL routines:ssl3_get_message:unexpected message:.\ssl\s3_both.c:408:
最佳答案
经过几天的挖掘,我发现我做错了什么。
从“write BIO”读取数据时出现问题。
int size_buffer = BIO_get_mem_data(bio_write, &p);
// copy contents from pointer 'p' to buffer
int size_buffer = BIO_read(bio_write, buffer, buffer.size());
BIO_read
读取后清除“write BIO”上的数据,以便“write BIO”没有任何待处理的数据。
关于c++ - 由于 'wrong version number' 错误,无法完成握手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49997802/
在 firefox 中,链接手形光标显示正常,但在 IE7 中显示文本光标。 如何在所有浏览器的链接上获得相同的光标(手)? 我可以在 CSS 重置中添加一些内容,以便在所有浏览器中的链接上获取光标吗
我试图在表单元素上方显示我的表单标签,所以我在我的 CSS 中使用了 display:block。但是,我无法通过这种方式每行显示超过 1 个表单元素。 如何正确更新我的 CSS 以在表单元素上方显示
我想找到人手的宽度,但卡在手上的洞上。 我有一只手的图片并找到了它的二进制文件。手上有一个圆圈,其半径和中心已知(引用对象)。我想找到手的宽度,但它上面有一些补丁(孔),这阻碍了找到手的最佳宽度。 这
我尝试为一款游戏制作一个机器人,但他们有很酷的反像素机器人技术。 所以我想,“如果我可以制作一个机器人,只检查光标是否变为手形然后单击,它就会起作用,”因为我需要收集奖金盒,当你将光标指向它时,它变为
我尝试为一款游戏制作一个机器人,但他们有很酷的反像素机器人技术。 所以我想,“如果我可以制作一个机器人,只检查光标是否变为手形然后单击,它就会起作用,”因为我需要收集奖金盒,当你将光标指向它时,它变为
所以我有一副牌的代码,但我不知道如何让另一个类来处理 4 手牌,每手 10 张牌。另一类应在屏幕上以文字形式打印 4 手 10 张随机卡片。有人可以向我展示如何完成此任务的代码吗?我也使用 blueJ
我正在尝试通过在开放正方形内插入图标来使用 fontawesome 创建图标。悬停时,我想更改正方形内背景的颜色,以及正方形的实际颜色和图标颜色。 我在这里举了一个例子:http://jsfiddle
当我手动启 Action 业时,我正在寻找设置变量的正确方法。 我试过 : stages: - test my_job: stage: test script: - echo "H
我必须添加以下代码: a {cursor:pointer;} 在 angular-ui-bootstrap 中将光标更改为标签、分页、下拉切换等链接上的指针/手。 为什么默认不改为指针?这是故意的吗?
我是一名优秀的程序员,十分优秀!