diff -u include/openssl.orig/dtls1.h include/openssl/dtls1.h
--- include/openssl.orig/dtls1.h	Mon Dec  7 07:58:32 2015
+++ include/openssl/dtls1.h	Mon Dec  7 07:56:14 2015
@@ -60,7 +60,11 @@
 #ifndef HEADER_DTLS1_H
 #define HEADER_DTLS1_H
+#if defined(_WIN32)
+#include <winsock2.h>
+#else
 #include <sys/time.h>
+#endif
 #include <stdio.h>
 #include <stdlib.h>
--- include/openssl/ossl_typ.h.orig	Fri Feb 18 16:30:39 2022
+++ include/openssl/ossl_typ.h	Mon Feb 21 05:39:35 2022
@@ -82,6 +82,22 @@
 typedef struct ASN1_ITEM_st ASN1_ITEM;
 typedef struct asn1_pctx_st ASN1_PCTX;
 
+#if defined(_WIN32) && defined(__WINCRYPT_H__)
+#ifndef LIBRESSL_INTERNAL
+#ifdef _MSC_VER
+#pragma message("Warning, overriding WinCrypt defines")
+#else
+#warning overriding WinCrypt defines
+#endif
+#endif
+#undef X509_NAME
+#undef X509_CERT_PAIR
+#undef X509_EXTENSIONS
+#undef OCSP_REQUEST
+#undef OCSP_RESPONSE
+#undef PKCS7_ISSUER_AND_SERIAL
+#endif
+
 #ifdef BIGNUM
 #undef BIGNUM
 #endif
diff -u include/openssl.orig/pkcs7.h include/openssl/pkcs7.h
--- include/openssl.orig/pkcs7.h	Mon Dec  7 07:58:32 2015
+++ include/openssl/pkcs7.h	Mon Dec  7 07:56:14 2015
@@ -69,6 +69,18 @@
 extern "C" {
 #endif
+#if defined(_WIN32) && defined(__WINCRYPT_H__)
+#ifndef LIBRESSL_INTERNAL
+#ifdef _MSC_VER
+#pragma message("Warning, overriding WinCrypt defines")
+#else
+#warning overriding WinCrypt defines
+#endif
+#endif
+#undef PKCS7_ISSUER_AND_SERIAL
+#undef PKCS7_SIGNER_INFO
+#endif
+
 /*
 Encryption_ID		DES-CBC
 Digest_ID		MD5
--- include/openssl/x509.h.orig	Thu Aug  3 13:35:00 2023
+++ include/openssl/x509.h	Thu Aug  3 13:35:18 2023
@@ -100,6 +100,19 @@
 extern "C" {
 #endif
 
+#if defined(_WIN32) && defined(__WINCRYPT_H__)
+#ifndef LIBRESSL_INTERNAL
+#ifdef _MSC_VER
+#pragma message("Warning, overriding WinCrypt defines")
+#else
+#warning overriding WinCrypt defines
+#endif
+#endif
+#undef X509_NAME
+#undef X509_CERT_PAIR
+#undef X509_EXTENSIONS
+#endif
+
 #define X509_FILETYPE_PEM	1
 #define X509_FILETYPE_ASN1	2
 #define X509_FILETYPE_DEFAULT	3