<!--
{
  "documentType" : "article",
  "framework" : "Network",
  "identifier" : "/documentation/Network/security-options",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Security Options"
}
-->

# Security Options

Configure security options for TLS handshakes.

## Topics

### Configuring TLS Handshake Options

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_t>

  <doc://com.apple.documentation/documentation/Security/OS_sec_protocol_options>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_set_tls_server_name(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_add_pre_shared_key(_:_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_add_tls_application_protocol(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_append_tls_ciphersuite(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_append_tls_ciphersuite_group(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_add_tls_ciphersuite(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_add_tls_ciphersuite_group(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_set_tls_diffie_hellman_parameters(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_are_equal(_:_:)>

### Configuring TLS Versions

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_set_min_tls_protocol_version(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_set_max_tls_protocol_version(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_get_default_min_tls_protocol_version()>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_get_default_max_tls_protocol_version()>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_get_default_min_dtls_protocol_version()>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_get_default_max_dtls_protocol_version()>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_set_tls_min_version(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_set_tls_max_version(_:_:)>

### Configuring TLS Behavior

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_set_tls_resumption_enabled(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_set_tls_tickets_enabled(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_set_tls_false_start_enabled(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_set_tls_sct_enabled(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_set_tls_ocsp_enabled(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_set_tls_renegotiation_enabled(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_set_peer_authentication_required(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_set_tls_is_fallback_attempt(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_set_tls_pre_shared_key_identity_hint(_:_:)>

### Handling TLS Events

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_set_verify_block(_:_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_verify_t>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_verify_complete_t>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_set_challenge_block(_:_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_challenge_t>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_challenge_complete_t>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_set_key_update_block(_:_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_key_update_t>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_key_update_complete_t>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_set_pre_shared_key_selection_block(_:_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_pre_shared_key_selection_t>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_pre_shared_key_selection_complete_t>

### Inspecting TLS State

  <doc://com.apple.documentation/documentation/Security/sec_protocol_metadata_t>

  <doc://com.apple.documentation/documentation/Security/OS_sec_protocol_metadata>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_metadata_get_negotiated_protocol(_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_metadata_get_server_name(_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_metadata_get_negotiated_tls_protocol_version(_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_metadata_get_negotiated_tls_ciphersuite(_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_metadata_get_negotiated_protocol_version(_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_metadata_get_negotiated_ciphersuite(_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_metadata_get_early_data_accepted(_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_metadata_copy_peer_public_key(_:)>

### Handling TLS Challenges

  <doc://com.apple.documentation/documentation/Security/sec_protocol_metadata_access_distinguished_names(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_metadata_access_ocsp_response(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_metadata_access_peer_certificate_chain(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_metadata_access_supported_signature_algorithms(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_metadata_access_pre_shared_keys(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_metadata_create_secret(_:_:_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_metadata_create_secret_with_context(_:_:_:_:_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_metadata_peers_are_equal(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_protocol_metadata_challenge_parameters_are_equal(_:_:)>

### Handling Certificates

  <doc://com.apple.documentation/documentation/Security/sec_certificate_t>

  <doc://com.apple.documentation/documentation/Security/OS_sec_certificate>

  <doc://com.apple.documentation/documentation/Security/sec_certificate_create(_:)>

  <doc://com.apple.documentation/documentation/Security/sec_certificate_copy_ref(_:)>

### Handling Identities

  <doc://com.apple.documentation/documentation/Security/sec_protocol_options_set_local_identity(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_identity_t>

  <doc://com.apple.documentation/documentation/Security/OS_sec_identity>

  <doc://com.apple.documentation/documentation/Security/sec_identity_create(_:)>

  <doc://com.apple.documentation/documentation/Security/sec_identity_create_with_certificates(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_identity_copy_ref(_:)>

  <doc://com.apple.documentation/documentation/Security/sec_identity_access_certificates(_:_:)>

  <doc://com.apple.documentation/documentation/Security/sec_identity_copy_certificates_ref(_:)>

### Handling Trust

  <doc://com.apple.documentation/documentation/Security/sec_trust_t>

  <doc://com.apple.documentation/documentation/Security/OS_sec_trust>

  <doc://com.apple.documentation/documentation/Security/sec_trust_create(_:)>

  <doc://com.apple.documentation/documentation/Security/sec_trust_copy_ref(_:)>

### Managing Security Objects

  <doc://com.apple.documentation/documentation/Security/sec_release(_:)>

  <doc://com.apple.documentation/documentation/Security/sec_retain(_:)>

  <doc://com.apple.documentation/documentation/Security/sec_object_t>

  <doc://com.apple.documentation/documentation/Security/OS_sec_object>



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)