302def _load_client_cert_chain(keychain, *paths):
304 Load certificates and maybe keys from a number of files. Has the end goal
305 of returning a CFArray containing one SecIdentityRef, and then zero or more
306 SecCertificateRef objects, suitable for use as a client certificate trust
338 paths = (path
for path
in paths
if path)
341 for file_path
in paths:
353 _assert_no_error(status)
386def _build_tls_unknown_ca_alert(version):
388 Builds a TLS alert record for an unknown CA.
390 ver_maj, ver_min = TLS_PROTOCOL_VERSIONS[version]
391 severity_fatal = 0x02
392 description_unknown_ca = 0x30
393 msg =
struct.pack(
">BB", severity_fatal, description_unknown_ca)
395 record_type_alert = 0x15
396 record =
struct.pack(
">BBBH", record_type_alert, ver_maj, ver_min, msg_len) + msg