diff --git a/Misc/NEWS b/Misc/NEWS
index e88938ca538..28674b8a0c2 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -294,6 +294,8 @@ Tests
Build
-----
+- Issue #26465: Update Windows builds to use OpenSSL 1.0.2g.
+
- Issue #24421: Compile Modules/_math.c once, before building extensions.
Previously it could fail to compile properly if the math and cmath builds
were concurrent.
diff --git a/PCbuild/get_externals.bat b/PCbuild/get_externals.bat
index f6ed0700221..63ba282d8ba 100644
--- a/PCbuild/get_externals.bat
+++ b/PCbuild/get_externals.bat
@@ -54,7 +54,7 @@ echo.Fetching external libraries...
set libraries=
set libraries=%libraries% bzip2-1.0.6
if NOT "%IncludeSSL%"=="false" set libraries=%libraries% nasm-2.11.06
-if NOT "%IncludeSSL%"=="false" set libraries=%libraries% openssl-1.0.2f
+if NOT "%IncludeSSL%"=="false" set libraries=%libraries% openssl-1.0.2g
set libraries=%libraries% sqlite-3.8.11.0
if NOT "%IncludeTkinter%"=="false" set libraries=%libraries% tcl-core-8.6.4.2
if NOT "%IncludeTkinter%"=="false" set libraries=%libraries% tk-8.6.4.2
diff --git a/PCbuild/prepare_ssl.bat b/PCbuild/prepare_ssl.bat
index c08a9f3474f..1be73e6c365 100644
--- a/PCbuild/prepare_ssl.bat
+++ b/PCbuild/prepare_ssl.bat
@@ -1,6 +1,6 @@
@echo off
if not defined HOST_PYTHON (
- if %1 EQU Debug (
+ if "%1" EQU "Debug" (
shift
set HOST_PYTHON=python_d.exe
if not exist python35_d.dll exit 1
@@ -9,4 +9,4 @@ if not defined HOST_PYTHON (
if not exist python35.dll exit 1
)
)
-%HOST_PYTHON% prepare_ssl.py %1
+%HOST_PYTHON% "%~dp0prepare_ssl.py" %1
diff --git a/PCbuild/python.props b/PCbuild/python.props
index 8ad9a894891..07acfaba7b2 100644
--- a/PCbuild/python.props
+++ b/PCbuild/python.props
@@ -41,7 +41,7 @@
$(ExternalsDir)sqlite-3.8.11.0\
$(ExternalsDir)bzip2-1.0.6\
$(ExternalsDir)xz-5.0.5\
- $(ExternalsDir)openssl-1.0.2f\
+ $(ExternalsDir)openssl-1.0.2g\
$(opensslDir)include32
$(opensslDir)include64
$(ExternalsDir)\nasm-2.11.06\