Compare commits
9 Commits
cd1146d0d8
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| df146989df | |||
| 699dc354c8 | |||
| efca4fd3fd | |||
| 4d54533f9a | |||
| 558f964ce2 | |||
| 409c41e196 | |||
| 55202646ca | |||
| a9c1a30218 | |||
| 6602a25188 |
@@ -45,6 +45,7 @@ set(WOLFSSL_ALPN ON CACHE BOOL "" FORCE)
|
|||||||
set(WOLFSSL_CERTGEN ON CACHE BOOL "" FORCE)
|
set(WOLFSSL_CERTGEN ON CACHE BOOL "" FORCE)
|
||||||
set(WOLFSSL_CERTEXT ON CACHE BOOL "" FORCE)
|
set(WOLFSSL_CERTEXT ON CACHE BOOL "" FORCE)
|
||||||
set(WOLFSSL_KEYGEN ON CACHE BOOL "" FORCE)
|
set(WOLFSSL_KEYGEN ON CACHE BOOL "" FORCE)
|
||||||
|
set(WOLFSSL_SNI ON CACHE BOOL "" FORCE)
|
||||||
set(WOLFSSL_EXAMPLES OFF CACHE BOOL "" FORCE)
|
set(WOLFSSL_EXAMPLES OFF CACHE BOOL "" FORCE)
|
||||||
set(WOLFSSL_CRYPT_TESTS OFF CACHE BOOL "" FORCE)
|
set(WOLFSSL_CRYPT_TESTS OFF CACHE BOOL "" FORCE)
|
||||||
set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)
|
set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)
|
||||||
@@ -54,6 +55,8 @@ FetchContent_MakeAvailable(wolfssl)
|
|||||||
target_compile_definitions(wolfssl PUBLIC
|
target_compile_definitions(wolfssl PUBLIC
|
||||||
-DWOLFSSL_ALT_NAMES
|
-DWOLFSSL_ALT_NAMES
|
||||||
-DWOLFSSL_ALPN
|
-DWOLFSSL_ALPN
|
||||||
|
-DWOLFSSL_HAVE_MIN
|
||||||
|
-DWOLFSSL_HAVE_MAX
|
||||||
)
|
)
|
||||||
|
|
||||||
# ---------------------
|
# ---------------------
|
||||||
@@ -81,6 +84,10 @@ if (TINYMITM_LOGS OR $CACHE{TINYMITM_LOGS})
|
|||||||
target_compile_definitions(tinymitm PUBLIC TINYMITM_LOGS)
|
target_compile_definitions(tinymitm PUBLIC TINYMITM_LOGS)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if (WIN32)
|
||||||
|
target_link_libraries(tinymitm PRIVATE crypt32)
|
||||||
|
endif()
|
||||||
|
|
||||||
# ------------------------------
|
# ------------------------------
|
||||||
# test
|
# test
|
||||||
# ------------------------------
|
# ------------------------------
|
||||||
|
|||||||
@@ -6,7 +6,10 @@
|
|||||||
|
|
||||||
#if defined(_WIN64) || defined(_WIN32)
|
#if defined(_WIN64) || defined(_WIN32)
|
||||||
#define FD_SETSIZE 1024
|
#define FD_SETSIZE 1024
|
||||||
#define NOMINMAX
|
|
||||||
|
#ifndef NOMINMAX
|
||||||
|
#define NOMINMAX
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <winsock2.h>
|
#include <winsock2.h>
|
||||||
#include <ws2tcpip.h>
|
#include <ws2tcpip.h>
|
||||||
@@ -14,7 +17,6 @@
|
|||||||
#define CLOSE_SOCKET closesocket
|
#define CLOSE_SOCKET closesocket
|
||||||
#define SHUT_RDWR SD_BOTH
|
#define SHUT_RDWR SD_BOTH
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <wolfssl/options.h>
|
#include <wolfssl/options.h>
|
||||||
#include <wolfssl/ssl.h>
|
#include <wolfssl/ssl.h>
|
||||||
#include "ssl.h"
|
#include "ssl.h"
|
||||||
@@ -463,10 +465,10 @@ void TinyMITMProxy::handleClient(SOCKET clientSocket)
|
|||||||
if (isConnect) return wolfSSL_read(ssl, b, sz);
|
if (isConnect) return wolfSSL_read(ssl, b, sz);
|
||||||
return ::recv(s, b, sz, 0);
|
return ::recv(s, b, sz, 0);
|
||||||
};
|
};
|
||||||
auto sslWrite = [&](WOLFSSL* ssl, SOCKET s, const char* b, int sz) -> int {
|
// auto sslWrite = [&](WOLFSSL* ssl, SOCKET s, const char* b, int sz) -> int {
|
||||||
if (isConnect) return wolfSSL_write(ssl, b, sz);
|
// if (isConnect) return wolfSSL_write(ssl, b, sz);
|
||||||
return ::send(s, b, sz, 0);
|
// return ::send(s, b, sz, 0);
|
||||||
};
|
// };
|
||||||
auto sslPending = [&](WOLFSSL* ssl) -> int {
|
auto sslPending = [&](WOLFSSL* ssl) -> int {
|
||||||
if (isConnect) return wolfSSL_pending(ssl);
|
if (isConnect) return wolfSSL_pending(ssl);
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -6,6 +6,8 @@
|
|||||||
#include <seallib/log.h>
|
#include <seallib/log.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <condition_variable>
|
||||||
|
#include <mutex>
|
||||||
#include <thread>
|
#include <thread>
|
||||||
#include <atomic>
|
#include <atomic>
|
||||||
#include <queue>
|
#include <queue>
|
||||||
|
|||||||
@@ -13,13 +13,12 @@
|
|||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include <wincrypt.h>
|
#include <wincrypt.h>
|
||||||
#pragma comment(lib, "crypt32.lib")
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
CertificateManager implementation
|
CertificateManager implementation
|
||||||
*/
|
*/
|
||||||
CertificateManager::CertificateManager() : _rng(new WC_RNG()), _caKey(nullptr), _sessionKey(nullptr) {}
|
CertificateManager::CertificateManager() : _caKey(nullptr), _sessionKey(nullptr), _rng(new WC_RNG()) {}
|
||||||
|
|
||||||
CertificateManager::~CertificateManager()
|
CertificateManager::~CertificateManager()
|
||||||
{
|
{
|
||||||
@@ -148,7 +147,7 @@ bool CertificateManager::installCertificate()
|
|||||||
(DWORD)_caCertDer.size());
|
(DWORD)_caCertDer.size());
|
||||||
|
|
||||||
if (!certCtx) return false;
|
if (!certCtx) return false;
|
||||||
HCERTSTORE rootStore = CertOpenStore(CERT_STORE_PROV_SYSTEM, 0, NULL, CERT_SYSTEM_STORE_CURRENT_USER, L"Root");
|
HCERTSTORE rootStore = CertOpenStore(CERT_STORE_PROV_SYSTEM, 0, 0, CERT_SYSTEM_STORE_CURRENT_USER, L"Root");
|
||||||
bool success = false;
|
bool success = false;
|
||||||
if (rootStore)
|
if (rootStore)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user