All Products
Search
Document Center

Object Storage Service:Configure the TLS version

Last Updated:Mar 20, 2026

OSS encrypts communication between clients and buckets using transport layer security (TLS). By default, buckets accept TLS 1.0, 1.1, and 1.2. Enable TLS version management to restrict which versions and cipher suites clients can use — a common requirement for Payment Card Industry Data Security Standard (PCI DSS) and other security compliance frameworks.

Important

Before changing TLS settings on a bucket with active traffic, check which TLS versions your clients currently use. Removing a version that clients rely on breaks their connections immediately. See Check the current TLS version.

Prerequisites

Before you begin, ensure that you have:

TLS versions

VersionKey algorithmsSecurity statusSupported browsers
TLS 1.0RSA, DES, 3DESVulnerable to BEAST and POODLE attacks; does not meet PCI DSS requirementsIE6+, Chrome 1+, Firefox 2+
TLS 1.1AES, RSA, SHA-256Addresses known TLS 1.0 vulnerabilitiesIE11+, Chrome 22+, Firefox 24+, Safari 7+
TLS 1.2AES-GCM, AES-CBC, ECDHE; adds Server Name Indication (SNI)Current mainstream standard; suitable for most secure communication scenariosIE11+, Chrome 30+, Firefox 27+, Safari 7+
TLS 1.3Stronger key exchange; removes insecure algorithms; better forward secrecyHighest security and performance; required for financial, government, and high-privacy scenariosChrome 70+, Firefox 63+

Usage notes

  • Include at least TLS 1.2 in the allowed versions. Setting only TLS 1.0 or TLS 1.1 introduces security and compliance risks.

  • Downgrading the TLS version or disabling TLS version management may break client connections and create compliance gaps. Before making changes, check which TLS versions your clients are currently using. See Check the current TLS version.

  • Before disabling a TLS version, verify that no clients rely exclusively on that version.

  • Changes take effect within 30 minutes.

Cipher suite options

A cipher suite defines the combination of algorithms used for key exchange, authentication, symmetric encryption, and message integrity. OSS offers three options:

OptionSecurityCompatibilityUse when
All Cipher Suites (default)LowHighMaximum client compatibility is required
Strong Cipher SuiteHighReducedPCI DSS or similar compliance frameworks require stronger encryption
Custom Cipher SuiteConfigurableConfigurableSpecific algorithms must be allowed or excluded (TLS 1.2 and TLS 1.3 only)
Custom cipher suite configuration is only available when TLS 1.2 or TLS 1.3 is enabled.

Strong Cipher Suite algorithms

The Strong Cipher Suite restricts connections to the following algorithms:

  • ECDHE-ECDSA-CHACHA20-POLY1305

  • ECDHE-RSA-CHACHA20-POLY1305

  • ECDHE-ECDSA-AES128-GCM-SHA256

  • ECDHE-RSA-AES128-GCM-SHA256

  • ECDHE-ECDSA-AES128-CCM8

  • ECDHE-ECDSA-AES128-CCM

  • ECDHE-ECDSA-AES256-GCM-SHA384

  • ECDHE-RSA-AES256-GCM-SHA384

  • ECDHE-ECDSA-AES256-CCM8

  • ECDHE-ECDSA-AES256-CCM

  • ECDHE-ECDSA-ARIA256-GCM-SHA384

  • ECDHE-ARIA256-GCM-SHA384

  • ECDHE-ECDSA-ARIA128-GCM-SHA256

  • ECDHE-ARIA128-GCM-SHA256

  • TLS_AES_256_GCM_SHA384

  • TLS_AES_128_GCM_SHA256

  • TLS_CHACHA20_POLY1305_SHA256

Custom cipher suites

Supported for TLS 1.2:

  • ECDHE-ECDSA-CHACHA20-POLY1305

  • ECDHE-RSA-CHACHA20-POLY1305

  • ECDHE-ECDSA-AES128-GCM-SHA256

  • ECDHE-RSA-AES128-GCM-SHA256

  • ECDHE-ECDSA-AES128-CCM8

  • ECDHE-ECDSA-AES128-CCM

  • ECDHE-ECDSA-AES128-SHA256

  • ECDHE-RSA-AES128-SHA256

  • ECDHE-ECDSA-AES256-GCM-SHA384

  • ECDHE-RSA-AES256-GCM-SHA384

  • ECDHE-ECDSA-AES256-CCM8

  • ECDHE-ECDSA-AES256-CCM

  • ECDHE-ECDSA-AES256-SHA384

  • ECDHE-RSA-AES256-SHA384

  • ECDHE-ECDSA-ARIA256-GCM-SHA384

  • ECDHE-ARIA256-GCM-SHA384

  • ECDHE-ECDSA-ARIA128-GCM-SHA256

  • ECDHE-ARIA128-GCM-SHA256

  • ECDHE-ECDSA-CAMELLIA256-SHA384

  • ECDHE-RSA-CAMELLIA256-SHA384

  • ECDHE-ECDSA-CAMELLIA128-SHA256

  • ECDHE-RSA-CAMELLIA128-SHA256

  • AES256-GCM-SHA384

  • AES256-CCM8

  • AES256-CCM

  • ARIA256-GCM-SHA384

  • AES128-GCM-SHA256

  • AES128-CCM8

  • AES128-CCM

  • ARIA128-GCM-SHA256

Supported for TLS 1.3:

  • TLS_AES_256_GCM_SHA384

  • TLS_AES_128_GCM_SHA256

  • TLS_CHACHA20_POLY1305_SHA256

Configure TLS version management

Use the OSS console

When you configure TLS version management for the first time in the OSS console, TLS 1.2 is selected by default. If you deselect TLS 1.2, some mainstream clients will be unable to access the bucket.

  1. Log on to the OSS console.OSS

  2. In the left-side navigation pane, click Buckets. On the Buckets page, click the name of the target bucket.

  3. In the left-side navigation tree, choose Content Security > TLS Version Management.

  4. On the TLS Version Management page, turn on TLS Version Management and configure the following parameters.

    ParameterDescription
    TLS Cipher SuiteSelect All Cipher Suites, Strong Cipher Suite, or Custom Cipher Suite. For a comparison of options, see Cipher suite options.
    Allowed TLS VersionSelect the TLS versions clients are permitted to use. For version details, see TLS versions.
  5. Click Save, then click OK in the confirmation dialog.

Changes take effect within 30 minutes.

Use ossutil

Use ossutil to enable, update, or query TLS version management. For installation instructions, see Install ossutil.

Enable TLS version management with TLS 1.2 and TLS 1.3:

ossutil api put-bucket-https-config --bucket examplebucket --https-configuration "{\"TLS\":{\"Enable\":\"true\",\"TLSVersion\":[\"TLSv1.2\",\"TLSv1.3\"]}}"

For the full command reference, see put-bucket-https-config.

Query current TLS configuration:

ossutil api get-bucket-https-config --bucket examplebucket

For the full command reference, see get-bucket-https-config.

Use the OSS API

For custom integrations, call the OSS RESTful APIs directly. Signature calculation must be included in your request. For details, see PutBucketHttpsConfig and GetBucketHttpsConfig.

Verify TLS configuration

Check the current TLS version

Run the following command to check which TLS version a client negotiates with the bucket when no version is explicitly specified:

openssl s_client -connect <Bucket>.<Endpoint>:443 -servername <Bucket>.<Endpoint>
ParameterDescription
<Bucket>The bucket name
<Endpoint>The public endpoint, internal endpoint, or custom domain name of the bucket

The negotiated TLS version is shown in the command output.

1.jpg

Verify that the TLS version is configured correctly

The following examples assume the allowed TLS version is set to TLS 1.2 only.

Verify that TLS 1.2 access succeeds:

openssl s_client -connect <Bucket>.<Endpoint>:443 -servername <Bucket>.<Endpoint> -tls1_2
ParameterDescription
<Bucket>The OSS bucket name
<Endpoint>The public endpoint, internal endpoint, or custom domain name of the bucket

Expected output (successful connection):

3.jpg

The same result applies when the client does not specify a TLS version but natively supports TLS 1.2.

Verify that non-allowed versions are blocked:

openssl s_client -connect <Bucket>.<Endpoint>:443 -servername <Bucket>.<Endpoint> -tls1_1

Expected output (connection rejected — TLS 1.1 is not in the allowed list):

2.jpg