How will be cipher selected when client is running on version TLS 1.3 and server is running on TLS 1.2?The 9 lives of Bleichenbacher's CAT, it puts another scratch againWhat is the 'Version Incompatibility" Problem in TLS 1.1/1.2 and 1.0?Is what i'm trying to do safe?What does the TLS 1.2 client finished message contain?Can the TLS 1.3 PSK-DHE handshake be turned into a PAKE?What is the format of the TLS extension field?Is TLS 1.2 compression methods in client_hello a mandatory field?How is the TLS 1.2 sequence number generated?In a TLS 1.3 connection, how do the client and server choose a mutual cipher suite?Which 'info' and 'salt' parameters to use in HKDF for TLS 1.3?Why Static RSA and Diffie-Hellman cipher suites have been removed in TLS 1.3?

gnu parallel how to use with ffmpeg

Where does the labelling of extrinsic semiconductors as "n" and "p" come from?

Was it really necessary for the Lunar Module to have 2 stages?

Lock in SQL Server and Oracle

Single Colour Mastermind Problem

Any examples of headwear for races with animal ears?

Will tsunami waves travel forever if there was no land?

How to figure out whether the data is sample data or population data apart from the client's information?

How deep to place a deadman anchor for a slackline?

How to stop co-workers from teasing me because I know Russian?

Is GOCE a satellite or aircraft?

Why do computer-science majors learn calculus?

Why does processed meat contain preservatives, while canned fish needs not?

What is a Recurrent Neural Network?

Does the EU Common Fisheries Policy cover British Overseas Territories?

Historically, were women trained for obligatory wars? Or did they serve some other military function?

Can a creature tell when it has been affected by a Divination wizard's Portent?

Pulling the rope with one hand is as heavy as with two hands?

Did Henry V’s archers at Agincourt fight with no pants / breeches on because of dysentery?

You look catfish vs You look like a catfish

Packing rectangles: Does rotation ever help?

TikZ how to make supply and demand arrows for nodes?

Is it possible to Ready a spell to be cast just before the start of your next turn by having the trigger be an ally's attack?

How to replace the "space symbol" (squat-u) in listings?



How will be cipher selected when client is running on version TLS 1.3 and server is running on TLS 1.2?


The 9 lives of Bleichenbacher's CAT, it puts another scratch againWhat is the 'Version Incompatibility" Problem in TLS 1.1/1.2 and 1.0?Is what i'm trying to do safe?What does the TLS 1.2 client finished message contain?Can the TLS 1.3 PSK-DHE handshake be turned into a PAKE?What is the format of the TLS extension field?Is TLS 1.2 compression methods in client_hello a mandatory field?How is the TLS 1.2 sequence number generated?In a TLS 1.3 connection, how do the client and server choose a mutual cipher suite?Which 'info' and 'salt' parameters to use in HKDF for TLS 1.3?Why Static RSA and Diffie-Hellman cipher suites have been removed in TLS 1.3?













3












$begingroup$


How will be cipher selected when a client is running on version TLS 1.3 and server is running on TLS 1.2?



The cipher list provided by TLS 1.3 client will be different than the version supported on the TLS 1.2 server.










share|improve this question











$endgroup$











  • $begingroup$
    Note: Downgrade can be very dangerous. See The 9 lives of Bleichenbacher's CAT, it puts another scratch again
    $endgroup$
    – kelalaka
    Apr 21 at 17:18















3












$begingroup$


How will be cipher selected when a client is running on version TLS 1.3 and server is running on TLS 1.2?



The cipher list provided by TLS 1.3 client will be different than the version supported on the TLS 1.2 server.










share|improve this question











$endgroup$











  • $begingroup$
    Note: Downgrade can be very dangerous. See The 9 lives of Bleichenbacher's CAT, it puts another scratch again
    $endgroup$
    – kelalaka
    Apr 21 at 17:18













3












3








3


1



$begingroup$


How will be cipher selected when a client is running on version TLS 1.3 and server is running on TLS 1.2?



The cipher list provided by TLS 1.3 client will be different than the version supported on the TLS 1.2 server.










share|improve this question











$endgroup$




How will be cipher selected when a client is running on version TLS 1.3 and server is running on TLS 1.2?



The cipher list provided by TLS 1.3 client will be different than the version supported on the TLS 1.2 server.







encryption tls key-derivation






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Apr 23 at 9:04









Maarten Bodewes

56.3k679197




56.3k679197










asked Apr 21 at 13:59









rakesh sharmarakesh sharma

262




262











  • $begingroup$
    Note: Downgrade can be very dangerous. See The 9 lives of Bleichenbacher's CAT, it puts another scratch again
    $endgroup$
    – kelalaka
    Apr 21 at 17:18
















  • $begingroup$
    Note: Downgrade can be very dangerous. See The 9 lives of Bleichenbacher's CAT, it puts another scratch again
    $endgroup$
    – kelalaka
    Apr 21 at 17:18















$begingroup$
Note: Downgrade can be very dangerous. See The 9 lives of Bleichenbacher's CAT, it puts another scratch again
$endgroup$
– kelalaka
Apr 21 at 17:18




$begingroup$
Note: Downgrade can be very dangerous. See The 9 lives of Bleichenbacher's CAT, it puts another scratch again
$endgroup$
– kelalaka
Apr 21 at 17:18










1 Answer
1






active

oldest

votes


















4












$begingroup$

If the client is only supporting TLS 1.3 or only TLS 1.3 ciphers the SSL handshake will fail. Otherwise the cipher will be selected as it is usually done with TLS 1.2: the client shows which ciphers it supports in the ClientHello and the server will pick the one which a) is supported by the server and b) fits the type of certificate of the server (i.e. authentication RSA or ECDSA). If there is no common cipher the handshake will fail.






share|improve this answer











$endgroup$












  • $begingroup$
    As we know the cipher list of TLS1.3 is completely different then TlS1.2 and below version. Here my question is, if server supports tls1.2 and below version, how the cipher will be selected from the cipher list available in client hello of TLS1.3 version(where cipher list available in tls1.3 is different then tls1.2)
    $endgroup$
    – rakesh sharma
    Apr 21 at 19:08










  • $begingroup$
    @rakeshsharma This might lead to the two lists having no entries in common, hence connection failure
    $endgroup$
    – Hagen von Eitzen
    Apr 21 at 19:50










  • $begingroup$
    @rakeshsharma: If the client is only supporting TLS 1.3 or only TLS 1.3 ciphers the SSL handshake fails. If the client supports also older ciphers and TLS 1.2 and there is cipher overlap with the server then the server can pick a shared cipher, otherwise it will fail.
    $endgroup$
    – Steffen Ullrich
    Apr 21 at 20:27











  • $begingroup$
    @SteffenUllrich Thanks for your reply, Actually in one openssl Library(1.1.*), the cipher list provided by client was only having the ciphers supported in tls1.3 though client was supporting all the version(i confirmed it by checking the supported_version extension ) so i thought if this is the case then it will never work if server supports the version below tls_1.3 because of no common ciphers and will break everything. i have not observed the same in the latest openssl library(1.1.1b) , it includes all the previous ciphers in cipher list along with new ciphers.
    $endgroup$
    – rakesh sharma
    Apr 22 at 10:05











Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "281"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcrypto.stackexchange.com%2fquestions%2f68931%2fhow-will-be-cipher-selected-when-client-is-running-on-version-tls-1-3-and-server%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









4












$begingroup$

If the client is only supporting TLS 1.3 or only TLS 1.3 ciphers the SSL handshake will fail. Otherwise the cipher will be selected as it is usually done with TLS 1.2: the client shows which ciphers it supports in the ClientHello and the server will pick the one which a) is supported by the server and b) fits the type of certificate of the server (i.e. authentication RSA or ECDSA). If there is no common cipher the handshake will fail.






share|improve this answer











$endgroup$












  • $begingroup$
    As we know the cipher list of TLS1.3 is completely different then TlS1.2 and below version. Here my question is, if server supports tls1.2 and below version, how the cipher will be selected from the cipher list available in client hello of TLS1.3 version(where cipher list available in tls1.3 is different then tls1.2)
    $endgroup$
    – rakesh sharma
    Apr 21 at 19:08










  • $begingroup$
    @rakeshsharma This might lead to the two lists having no entries in common, hence connection failure
    $endgroup$
    – Hagen von Eitzen
    Apr 21 at 19:50










  • $begingroup$
    @rakeshsharma: If the client is only supporting TLS 1.3 or only TLS 1.3 ciphers the SSL handshake fails. If the client supports also older ciphers and TLS 1.2 and there is cipher overlap with the server then the server can pick a shared cipher, otherwise it will fail.
    $endgroup$
    – Steffen Ullrich
    Apr 21 at 20:27











  • $begingroup$
    @SteffenUllrich Thanks for your reply, Actually in one openssl Library(1.1.*), the cipher list provided by client was only having the ciphers supported in tls1.3 though client was supporting all the version(i confirmed it by checking the supported_version extension ) so i thought if this is the case then it will never work if server supports the version below tls_1.3 because of no common ciphers and will break everything. i have not observed the same in the latest openssl library(1.1.1b) , it includes all the previous ciphers in cipher list along with new ciphers.
    $endgroup$
    – rakesh sharma
    Apr 22 at 10:05















4












$begingroup$

If the client is only supporting TLS 1.3 or only TLS 1.3 ciphers the SSL handshake will fail. Otherwise the cipher will be selected as it is usually done with TLS 1.2: the client shows which ciphers it supports in the ClientHello and the server will pick the one which a) is supported by the server and b) fits the type of certificate of the server (i.e. authentication RSA or ECDSA). If there is no common cipher the handshake will fail.






share|improve this answer











$endgroup$












  • $begingroup$
    As we know the cipher list of TLS1.3 is completely different then TlS1.2 and below version. Here my question is, if server supports tls1.2 and below version, how the cipher will be selected from the cipher list available in client hello of TLS1.3 version(where cipher list available in tls1.3 is different then tls1.2)
    $endgroup$
    – rakesh sharma
    Apr 21 at 19:08










  • $begingroup$
    @rakeshsharma This might lead to the two lists having no entries in common, hence connection failure
    $endgroup$
    – Hagen von Eitzen
    Apr 21 at 19:50










  • $begingroup$
    @rakeshsharma: If the client is only supporting TLS 1.3 or only TLS 1.3 ciphers the SSL handshake fails. If the client supports also older ciphers and TLS 1.2 and there is cipher overlap with the server then the server can pick a shared cipher, otherwise it will fail.
    $endgroup$
    – Steffen Ullrich
    Apr 21 at 20:27











  • $begingroup$
    @SteffenUllrich Thanks for your reply, Actually in one openssl Library(1.1.*), the cipher list provided by client was only having the ciphers supported in tls1.3 though client was supporting all the version(i confirmed it by checking the supported_version extension ) so i thought if this is the case then it will never work if server supports the version below tls_1.3 because of no common ciphers and will break everything. i have not observed the same in the latest openssl library(1.1.1b) , it includes all the previous ciphers in cipher list along with new ciphers.
    $endgroup$
    – rakesh sharma
    Apr 22 at 10:05













4












4








4





$begingroup$

If the client is only supporting TLS 1.3 or only TLS 1.3 ciphers the SSL handshake will fail. Otherwise the cipher will be selected as it is usually done with TLS 1.2: the client shows which ciphers it supports in the ClientHello and the server will pick the one which a) is supported by the server and b) fits the type of certificate of the server (i.e. authentication RSA or ECDSA). If there is no common cipher the handshake will fail.






share|improve this answer











$endgroup$



If the client is only supporting TLS 1.3 or only TLS 1.3 ciphers the SSL handshake will fail. Otherwise the cipher will be selected as it is usually done with TLS 1.2: the client shows which ciphers it supports in the ClientHello and the server will pick the one which a) is supported by the server and b) fits the type of certificate of the server (i.e. authentication RSA or ECDSA). If there is no common cipher the handshake will fail.







share|improve this answer














share|improve this answer



share|improve this answer








edited Apr 21 at 20:25

























answered Apr 21 at 15:58









Steffen UllrichSteffen Ullrich

76136




76136











  • $begingroup$
    As we know the cipher list of TLS1.3 is completely different then TlS1.2 and below version. Here my question is, if server supports tls1.2 and below version, how the cipher will be selected from the cipher list available in client hello of TLS1.3 version(where cipher list available in tls1.3 is different then tls1.2)
    $endgroup$
    – rakesh sharma
    Apr 21 at 19:08










  • $begingroup$
    @rakeshsharma This might lead to the two lists having no entries in common, hence connection failure
    $endgroup$
    – Hagen von Eitzen
    Apr 21 at 19:50










  • $begingroup$
    @rakeshsharma: If the client is only supporting TLS 1.3 or only TLS 1.3 ciphers the SSL handshake fails. If the client supports also older ciphers and TLS 1.2 and there is cipher overlap with the server then the server can pick a shared cipher, otherwise it will fail.
    $endgroup$
    – Steffen Ullrich
    Apr 21 at 20:27











  • $begingroup$
    @SteffenUllrich Thanks for your reply, Actually in one openssl Library(1.1.*), the cipher list provided by client was only having the ciphers supported in tls1.3 though client was supporting all the version(i confirmed it by checking the supported_version extension ) so i thought if this is the case then it will never work if server supports the version below tls_1.3 because of no common ciphers and will break everything. i have not observed the same in the latest openssl library(1.1.1b) , it includes all the previous ciphers in cipher list along with new ciphers.
    $endgroup$
    – rakesh sharma
    Apr 22 at 10:05
















  • $begingroup$
    As we know the cipher list of TLS1.3 is completely different then TlS1.2 and below version. Here my question is, if server supports tls1.2 and below version, how the cipher will be selected from the cipher list available in client hello of TLS1.3 version(where cipher list available in tls1.3 is different then tls1.2)
    $endgroup$
    – rakesh sharma
    Apr 21 at 19:08










  • $begingroup$
    @rakeshsharma This might lead to the two lists having no entries in common, hence connection failure
    $endgroup$
    – Hagen von Eitzen
    Apr 21 at 19:50










  • $begingroup$
    @rakeshsharma: If the client is only supporting TLS 1.3 or only TLS 1.3 ciphers the SSL handshake fails. If the client supports also older ciphers and TLS 1.2 and there is cipher overlap with the server then the server can pick a shared cipher, otherwise it will fail.
    $endgroup$
    – Steffen Ullrich
    Apr 21 at 20:27











  • $begingroup$
    @SteffenUllrich Thanks for your reply, Actually in one openssl Library(1.1.*), the cipher list provided by client was only having the ciphers supported in tls1.3 though client was supporting all the version(i confirmed it by checking the supported_version extension ) so i thought if this is the case then it will never work if server supports the version below tls_1.3 because of no common ciphers and will break everything. i have not observed the same in the latest openssl library(1.1.1b) , it includes all the previous ciphers in cipher list along with new ciphers.
    $endgroup$
    – rakesh sharma
    Apr 22 at 10:05















$begingroup$
As we know the cipher list of TLS1.3 is completely different then TlS1.2 and below version. Here my question is, if server supports tls1.2 and below version, how the cipher will be selected from the cipher list available in client hello of TLS1.3 version(where cipher list available in tls1.3 is different then tls1.2)
$endgroup$
– rakesh sharma
Apr 21 at 19:08




$begingroup$
As we know the cipher list of TLS1.3 is completely different then TlS1.2 and below version. Here my question is, if server supports tls1.2 and below version, how the cipher will be selected from the cipher list available in client hello of TLS1.3 version(where cipher list available in tls1.3 is different then tls1.2)
$endgroup$
– rakesh sharma
Apr 21 at 19:08












$begingroup$
@rakeshsharma This might lead to the two lists having no entries in common, hence connection failure
$endgroup$
– Hagen von Eitzen
Apr 21 at 19:50




$begingroup$
@rakeshsharma This might lead to the two lists having no entries in common, hence connection failure
$endgroup$
– Hagen von Eitzen
Apr 21 at 19:50












$begingroup$
@rakeshsharma: If the client is only supporting TLS 1.3 or only TLS 1.3 ciphers the SSL handshake fails. If the client supports also older ciphers and TLS 1.2 and there is cipher overlap with the server then the server can pick a shared cipher, otherwise it will fail.
$endgroup$
– Steffen Ullrich
Apr 21 at 20:27





$begingroup$
@rakeshsharma: If the client is only supporting TLS 1.3 or only TLS 1.3 ciphers the SSL handshake fails. If the client supports also older ciphers and TLS 1.2 and there is cipher overlap with the server then the server can pick a shared cipher, otherwise it will fail.
$endgroup$
– Steffen Ullrich
Apr 21 at 20:27













$begingroup$
@SteffenUllrich Thanks for your reply, Actually in one openssl Library(1.1.*), the cipher list provided by client was only having the ciphers supported in tls1.3 though client was supporting all the version(i confirmed it by checking the supported_version extension ) so i thought if this is the case then it will never work if server supports the version below tls_1.3 because of no common ciphers and will break everything. i have not observed the same in the latest openssl library(1.1.1b) , it includes all the previous ciphers in cipher list along with new ciphers.
$endgroup$
– rakesh sharma
Apr 22 at 10:05




$begingroup$
@SteffenUllrich Thanks for your reply, Actually in one openssl Library(1.1.*), the cipher list provided by client was only having the ciphers supported in tls1.3 though client was supporting all the version(i confirmed it by checking the supported_version extension ) so i thought if this is the case then it will never work if server supports the version below tls_1.3 because of no common ciphers and will break everything. i have not observed the same in the latest openssl library(1.1.1b) , it includes all the previous ciphers in cipher list along with new ciphers.
$endgroup$
– rakesh sharma
Apr 22 at 10:05

















draft saved

draft discarded
















































Thanks for contributing an answer to Cryptography Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

Use MathJax to format equations. MathJax reference.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcrypto.stackexchange.com%2fquestions%2f68931%2fhow-will-be-cipher-selected-when-client-is-running-on-version-tls-1-3-and-server%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

How to write a 12-bar blues melodyI-IV-V blues progressionHow to play the bridges in a standard blues progressionHow does Gdim7 fit in C# minor?question on a certain chord progressionMusicology of Melody12 bar blues, spread rhythm: alternative to 6th chord to avoid finger stretchChord progressions/ Root key/ MelodiesHow to put chords (POP-EDM) under a given lead vocal melody (starting from a good knowledge in music theory)Are there “rules” for improvising with the minor pentatonic scale over 12-bar shuffle?Confusion about blues scale and chords

What if the end-user didn't have the required library?What is setup.py?What is a clean, pythonic way to have multiple constructors in Python?What does Ruby have that Python doesn't, and vice versa?What is the reason for having '//' in Python?How do I create a namespace package in Python?How to package shared objects that python modules depend on?setuptools vs. distutils: why is distutils still a thing?Navigation in Windows 10 vs code not going to virtualenv library when the same library is installed at user levelPython create package for local usePackaging a project that uses multiple python versionsWhy is permission denied on pip install except for when “--user” is included at end of command?

Why did Thanos need his ship to help him in the battle scene?Which actor plays Thanos in the Avengers mid-credits scene?Are there economic implications portrayed in comics where the buildings and cities are ruined almost daily?Old X-Men comic where team travels to alien world with a ring-like sun that needs recharging?Why does Ego need help sleeping?Is there an objective answer to who “the strongest Avenger” is?How did Banner get unstuck?Why did Thanos get hit?How did Thanos (or anyone) know the Infinity Stones would give him this power?Did Thanos leave Eitri alive for his after-sales service?In Avengers 1, why does Thanos need Loki?