Я пытался провести атаку «Человек посередине» с C, успешно получить целевой хост HTTPS, SSL_connect к серверу и создать фальшивый сертификат успешно, когда я пытаюсь SSL_accept
клиентский сокет, он потерпел неудачу и SSL_error: error:140760FC: подпрограммы SSL: SSL23_GET_CLIENT_HELLO: неизвестный протокол
int socket_to_server = open_client_socket(p->client, p->host, p->port);
// create ssl connect by server socket
ssl_to_server = SSL_to_server_init(socket_to_server);
if (SSL_connect(ssl_to_server) < 0)
SSL_Error("Fail to connect server with ssl!");
printf("%d, SSL to server\n", sum);
// get server cert and fake
fake_x509 = create_fake_certificate(ssl_to_server, p->key);
// use fake cert create client SLL connect
ssl_to_client = SSL_to_client_init(p->client, fake_x509, p->key);
if(ssl_to_client == 0)
{
SSL_Error("SSL to client Failed!\n");
}
if (SSL_accept(ssl_to_client) <= 0) // failed there, error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol
SSL_Error("Fail to accept client with ssl!");