Configure TLS for a cloud service (2024)

  • Article

Important

Cloud Services (classic) is now deprecated for all customers as of September 1st, 2024. Any existing running deployments will be stopped and shut down by Microsoft and the data will be permanantly lost starting October 2024. New deployments should use the new Azure Resource Manager based deployment model Azure Cloud Services (extended support).

Transport Layer Security (TLS), previously known as Secure Socket Layer (SSL) encryption, is the most commonly used method of securing data sent across the internet. This common task discusses how to specify an HTTPS endpoint for a web role and how to upload a TLS/SSL certificate to secure your application.

Note

The procedures in this task apply to Azure Cloud Services; for App Services, see this.

This task uses a production deployment. Information on using a staging deployment is provided at the end of this article.

Read How to create and deploy an Azure Cloud Service (classic) first if you haven't yet created a cloud service.

Step 1: Get a TLS/SSL certificate

To configure TLS for an application, you first need to get a TLS/SSL certificate signed by a Certificate Authority (CA), a trusted partner who issues certificates for this purpose. If you don't already have one, you need to obtain one from a company that sells TLS/SSL certificates.

The certificate must meet the following requirements for TLS/SSL certificates in Azure:

  • The certificate must contain a public key.
  • The certificate must be created for key exchange, exportable to a Personal Information Exchange (.pfx) file.
  • The certificate's subject name must match the domain used to access the cloud service. You can't obtain a TLS/SSL certificate from a certificate authority (CA) for the cloudapp.net domain. You must acquire a custom domain name to use when accessing your service. When you request a certificate from a CA, the certificate's subject name must match the custom domain name used to access your application. For example, if your custom domain name is contoso.com you would request a certificate from your CA for *.contoso.com or www.contoso.com.
  • The certificate must use a minimum of 2048-bit encryption.

For test purposes, you can create and use a self-signed certificate. A self-signed certificate isn't authenticated through a CA and can use the cloudapp.net domain as the website URL. For example, the following task uses a self-signed certificate in which the common name (CN) used in the certificate is sslexample.cloudapp.net.

Next, you must include information about the certificate in your service definition and service configuration files.

Step 2: Modify the service definition and configuration files

Your application must be configured to use the certificate, and an HTTPS endpoint must be added. As a result, the service definition and service configuration files need to be updated.

  1. In your development environment, open the service definition file (CSDEF), add a Certificates section within the WebRole section, and include the following information about the certificate (and intermediate certificates):

    <WebRole name="CertificateTesting" vmsize="Small">... <Certificates> <Certificate name="SampleCertificate" storeLocation="LocalMachine" storeName="My" permissionLevel="limitedOrElevated" /> <!-- IMPORTANT! Unless your certificate is either self-signed or signed directly by the CA root, you must include all the intermediate certificates here. You must list them here, even if they are not bound to any endpoints. Failing to list any of the intermediate certificates may cause hard-to-reproduce interoperability problems on some clients.--> <Certificate name="CAForSampleCertificate" storeLocation="LocalMachine" storeName="CA" permissionLevel="limitedOrElevated" /> </Certificates>...</WebRole>

    The Certificates section defines the name of our certificate, its location, and the name of the store where it's located.

    Permissions (permissionLevel attribute) can be set to one of the following values:

    Permission ValueDescription
    limitedOrElevated(Default) All role processes can access the private key.
    elevatedOnly elevated processes can access the private key.
  2. In your service definition file, add an InputEndpoint elementwithin the Endpoints section to enable HTTPS:

    <WebRole name="CertificateTesting" vmsize="Small">... <Endpoints> <InputEndpoint name="HttpsIn" protocol="https" port="443" certificate="SampleCertificate" /> </Endpoints>...</WebRole>
  3. In your service definition file, add a Binding element withinthe Sites section. This element adds an HTTPS binding to map theendpoint to your site:

    <WebRole name="CertificateTesting" vmsize="Small">... <Sites> <Site name="Web"> <Bindings> <Binding name="HttpsIn" endpointName="HttpsIn" /> </Bindings> </Site> </Sites>...</WebRole>

    All the required changes to the service definition file are complete, but you still need to add the certificate information to the service configuration file.

  4. In your service configuration file (CSCFG), ServiceConfiguration.Cloud.cscfg, add a Certificates value with that of your certificate. The following code sample provides details of the Certificates section, except for the thumbprint value.

    <Role name="Deployment">... <Certificates> <Certificate name="SampleCertificate" thumbprint="9427befa18ec6865a9ebdc79d4c38de50e6316ff" thumbprintAlgorithm="sha1" /> <Certificate name="CAForSampleCertificate" thumbprint="79d4c38de50e6316ff9427befa18ec6865a9ebdc" thumbprintAlgorithm="sha1" /> </Certificates>...</Role>

(This example uses sha1 for the thumbprint algorithm. Specify the appropriate value for your certificate's thumbprint algorithm.)

Now that you updated the service definition and service configuration files, package your deployment for uploading to Azure. Ifyou're using cspack, don't use the/generateConfigurationFile flag, as that overwrites thecertificate information you inserted.

Step 3: Upload a certificate

Connect to the Azure portal and...

  1. In the All resources section of the Portal, select your cloud service.

    Configure TLS for a cloud service (1)

  2. Select Certificates.

    Configure TLS for a cloud service (2)

  3. Select Upload at the top of the certificates area.

    Configure TLS for a cloud service (3)

  4. Provide the File, Password, then select Upload at the bottom of the data entry area.

Step 4: Connect to the role instance by using HTTPS

Now that your deployment is up and running in Azure, you canconnect to it using HTTPS.

  1. Select the Site URL to open up the web browser.

    Configure TLS for a cloud service (4)

  2. In your web browser, modify the link to use https instead of http, and then visit the page.

    Note

    If you are using a self-signed certificate, when you browse to an HTTPS endpoint that's associated with the self-signed certificate you may see a certificate error in the browser. Using a certificate signed by a trusted certification authority eliminates this problem; in the meantime, you can ignore the error. (Another option is to add the self-signed certificate to the user's trusted certificate authority certificate store.)

    Configure TLS for a cloud service (5)

    Tip

    If you want to use TLS for a staging deployment instead of a production deployment, you'll first need to determine the URL used for the staging deployment. Once your cloud service has been deployed, the URL to the staging environment is determined by the Deployment ID GUID in this format: https://deployment-id.cloudapp.net/

    Create a certificate with the common name (CN) equal to the GUID-based URL (for example, 328187776e774ceda8fc57609d404462.cloudapp.net). Use the portal to add the certificate to your staged cloud service. Then, add the certificate information to your CSDEF and CSCFG files, repackage your application, and update your staged deployment to use the new package.

Next steps

  • General configuration of your cloud service.
  • Learn how to deploy a cloud service.
  • Configure a custom domain name.
  • Manage your cloud service.
Configure TLS for a cloud service (2024)

FAQs

What is TLS in cloud computing? ›

Transport Layer Security (TLS) encrypts data sent over the Internet to ensure that eavesdroppers and hackers are unable to see what you transmit which is particularly useful for private and sensitive information such as passwords, credit card numbers, and personal correspondence.

What is the recommended TLS configuration? ›

Thus the minimum commonly supported TLS version is 1.1; however, PCI-DSS and NIST strongly suggest the use of the more secure TLS 1.2 (and, as seen above, NIST recommends adoption of TLS 1.3 and plans to require support by 2024).

How to enable support for TLS 1.2 and 1.3 and disable support for TLS 1.0 in Windows server? ›

Method 1 : Enable TLS 1.2 and TLS 1.3 manually using Registry
  1. Open regedit utility. ...
  2. Create New Key. ...
  3. Rename the Registry Key 'TLS 1.2' ...
  4. Create One More Registry Key 'Client' underneath 'TLS 1.2' ...
  5. Create New Item 'DWORD (32-bit) Value' Underneath 'Client', select 'New'
Apr 20, 2023

How to configure SSL TLS in server? ›

On the Server UI General screen, select Enable Server UI SSL/TLS. Enabling this option changes the URL in the Base Address and Web API Address fields to HTTPS. If you enable SSL and your certificate is set to a port other than the default 443, specify the port in the Base Address and Web API Address fields.

What are the requirements for TLS? ›

For a website or application to use TLS, it must have a TLS certificate installed on its origin server (the certificate is also known as an "SSL certificate" because of the naming confusion described above). A TLS certificate is issued by a certificate authority to the person or business that owns a domain.

What TLS does AWS use? ›

To add increased security when communicating with AWS services, configure the AWS SDK for JavaScript to use TLS 1.2 or later. Transport Layer Security (TLS) is a protocol used by web browsers and other applications to ensure the privacy and integrity of data exchanged over a network.

How to check if TLS is enabled or not? ›

-Press the Windows key + R to start Run, type regedit, and press Enter or click OK. -If you can't find any of the keys or if their values are not correct, then TLS 1.2 is not enabled. I hope this information helps.

How do I enable TLS 1.2 protocol? ›

Google Chrome
  1. From the Start Menu > Open 'Internet Options' Options > Advanced tab.
  2. Scroll down to the Security category, manually check the option box for Use TLS 1.2 and un-check the option box for Use TLS 1.1 and Use TLS 1.0.
  3. Click OK.
  4. Close your browser and restart Google Chrome.
Oct 21, 2023

How to turn on turn on TLS 1.0 TLS 1.1 and TLS 1.2 in advanced settings? ›

Click the Tools icon (gear symbol) in the upper right hand corner of the browser and click Internet Options. In the Internet Options window, select the Advanced tab. In the Advanced tab, under Settings, scroll down to the Security section. In the Security section, check Use TLS 1.1 and Use TLS 1.2.

How do I find my TLS server settings? ›

Click Start or press the Windows key. In the Start menu, either in the Run box or the Search box, type regedit and press Enter. The Registry Editor window should open and look similar to the example shown below. Check the subkeys for each SSL/TLS version for both server and client.

How to enable TLS 1.3 on Windows Server? ›

To enable TLS 1.3, you can use the Registry Editor on your Windows Server. You will need to navigate to the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3 key. If this key does not exist, you can create it. Under the TLS 1.3 key, create a subkey named "Server".

What is TLS and why it is used? ›

Transport Layer Security (TLS) is a cryptographic protocol designed to provide communications security over a computer network. The protocol is widely used in applications such as email, instant messaging, and voice over IP, but its use in securing HTTPS remains the most publicly visible.

What's the difference between SSL and TLS? ›

However, SSL is an older technology that contains some security flaws. Transport Layer Security (TLS) is the upgraded version of SSL that fixes existing SSL vulnerabilities. TLS authenticates more efficiently and continues to support encrypted communication channels.

What is the difference between TCP and TLS? ›

A TLS session operates over a TCP connection. TLS is responsible for the encryption and the authentication of the SDUs exchanged by the application layer protocol while TCP provides the reliable delivery of this encrypted and authenticated bytestream. TLS is used by many different application layer protocols.

What is the difference between TLS and encryption? ›

TLDR: SSL/TLS encrypts communications between a client and server, primarily web browsers and web sites/applications. SSL (Secure Sockets Layer) encryption, and its more modern and secure replacement, TLS (Transport Layer Security) encryption, protect data sent over the internet or a computer network.

Top Articles
Tron Price History 2017-2022
Bluetooth Drains Your Phone Battery: Myth Or Fact? - Chipolo
English Bulldog Puppies For Sale Under 1000 In Florida
Katie Pavlich Bikini Photos
Gamevault Agent
Pieology Nutrition Calculator Mobile
Hocus Pocus Showtimes Near Harkins Theatres Yuma Palms 14
Hendersonville (Tennessee) – Travel guide at Wikivoyage
Doby's Funeral Home Obituaries
Compare the Samsung Galaxy S24 - 256GB - Cobalt Violet vs Apple iPhone 16 Pro - 128GB - Desert Titanium | AT&T
Vardis Olive Garden (Georgioupolis, Kreta) ✈️ inkl. Flug buchen
Craigslist Dog Kennels For Sale
Things To Do In Atlanta Tomorrow Night
Non Sequitur
Crossword Nexus Solver
How To Cut Eelgrass Grounded
Pac Man Deviantart
Alexander Funeral Home Gallatin Obituaries
Shasta County Most Wanted 2022
Energy Healing Conference Utah
Testberichte zu E-Bikes & Fahrrädern von PROPHETE.
Aaa Saugus Ma Appointment
Geometry Review Quiz 5 Answer Key
Icivics The Electoral Process Answer Key
Allybearloves
Bible Gateway passage: Revelation 3 - New Living Translation
Yisd Home Access Center
Home
Shadbase Get Out Of Jail
Gina Wilson Angle Addition Postulate
Celina Powell Lil Meech Video: A Controversial Encounter Shakes Social Media - Video Reddit Trend
Walmart Pharmacy Near Me Open
Marquette Gas Prices
A Christmas Horse - Alison Senxation
Ou Football Brainiacs
Access a Shared Resource | Computing for Arts + Sciences
Vera Bradley Factory Outlet Sunbury Products
Pixel Combat Unblocked
Cvs Sport Physicals
Mercedes W204 Belt Diagram
'Conan Exiles' 3.0 Guide: How To Unlock Spells And Sorcery
Teenbeautyfitness
Where Can I Cash A Huntington National Bank Check
Topos De Bolos Engraçados
Sand Castle Parents Guide
Gregory (Five Nights at Freddy's)
Grand Valley State University Library Hours
Holzer Athena Portal
Hello – Cornerstone Chapel
Stoughton Commuter Rail Schedule
Selly Medaline
Latest Posts
Article information

Author: Msgr. Refugio Daniel

Last Updated:

Views: 6047

Rating: 4.3 / 5 (54 voted)

Reviews: 93% of readers found this page helpful

Author information

Name: Msgr. Refugio Daniel

Birthday: 1999-09-15

Address: 8416 Beatty Center, Derekfort, VA 72092-0500

Phone: +6838967160603

Job: Mining Executive

Hobby: Woodworking, Knitting, Fishing, Coffee roasting, Kayaking, Horseback riding, Kite flying

Introduction: My name is Msgr. Refugio Daniel, I am a fine, precious, encouraging, calm, glamorous, vivacious, friendly person who loves writing and wants to share my knowledge and understanding with you.