Having worked with SChannel to build a Python wrapper, there are a number of little bugs that require falling back to TLS 1.1 or retrying the connection. For instance, if a trust root uses an MD5 signature, TLS 1.2 can&#x27;t be used. Also, sometimes the dhparams for a key exchange will be encoded in 1016 bits instead of 1024 (the server omits a leading zero byte) and SChannel aborts with a cryptic error about buffers being too small. At least Microsoft generally does a better job with their crypto docs than Apple does.