diff --git a/homeassistant/util/ssl.py b/homeassistant/util/ssl.py
index fc02009b7af7ae5ff0ad51198c32dfcec083e35b..4f528cfcb51644ae821cca808271ce821e01aa85 100644
--- a/homeassistant/util/ssl.py
+++ b/homeassistant/util/ssl.py
@@ -6,21 +6,14 @@ import certifi
 
 def client_context():
     """Return an SSL context for making requests."""
-    context = _get_context()
-    context.verify_mode = ssl.CERT_REQUIRED
-    context.check_hostname = True
-    context.load_verify_locations(cafile=certifi.where(), capath=None)
+    context = ssl.create_default_context(
+        purpose=ssl.Purpose.SERVER_AUTH,
+        cafile=certifi.where()
+    )
     return context
 
 
 def server_context():
-    """Return an SSL context for being a server."""
-    context = _get_context()
-    context.options |= ssl.OP_CIPHER_SERVER_PREFERENCE
-    return context
-
-
-def _get_context():
     """Return an SSL context following the Mozilla recommendations.
 
     TLS configuration follows the best-practice guidelines specified here:
@@ -31,7 +24,8 @@ def _get_context():
 
     context.options |= (
         ssl.OP_NO_SSLv2 | ssl.OP_NO_SSLv3 |
-        ssl.OP_NO_TLSv1 | ssl.OP_NO_TLSv1_1
+        ssl.OP_NO_TLSv1 | ssl.OP_NO_TLSv1_1 |
+        ssl.OP_CIPHER_SERVER_PREFERENCE
     )
     if hasattr(ssl, 'OP_NO_COMPRESSION'):
         context.options |= ssl.OP_NO_COMPRESSION