Hello, I’m trying to do the QR decomposition using Gram Schmidt but I’m having problems because I can’t find the R matrix. Could you help me?

First of all I don’t want to use the reflection method. Only Gram-Schmidt.

So here’s the program for Gram-Schidt:

GS[A_] := Module[{u = {}, col, e = {}, ae, t},   col = Transpose[A];(* list with the column vectors of A *)   u = Append[u, col[[1]]];   e = AppendTo[e, u[[1]]/Norm[u[[1]]]];   For[i = 2, i <= Length[A], i++, ae = 0; t = 1;    While[t <= i - 1, ae = ae - (col[[i]].e[[t]])*e[[t]]; t++];    u = AppendTo[u, col[[i]] + ae];    e = Append[e, u[[i]]/Norm[u[[i]]]]]; {u, e}] 

with this simple matrix:

B = {{1, 3, 1}, {2, 2, 1}, {3, 2, 3}}; 

gives

{{{1, 2, 3}, {29/14, 1/7, -(11/14)}, {14/69, -(49/69), 28/69}}, {{1/    Sqrt[14], Sqrt[2/7], 3/Sqrt[14]}, {29/Sqrt[966], Sqrt[2/    483], -(11/Sqrt[966])}, {2/Sqrt[69], -(7/Sqrt[69]), 4/Sqrt[69]}}} 

Now the code for QR decomposition is:

QR[A_] := Module[{Ak, i, Q, R = {}, a = {}, col, k},   Ak = FullSimplify[GS[A]];   col = Transpose[A];(* list with the column vectors of A *)   Q = MatrixForm[Transpose[Ak[[2]]]];   For[i = 1, i <= Length[Ak[[2]]], i++, a = {}; k == 1;    While[k <= Length[col], a = AppendTo[a, col[[k]]. Ak[[2]][[i]]];      k++];     R = AppendTo[R, a]];   R = UpperTriangularize[R]; {Q, R}] 

but I can’t find matrix R, once it’s giving me a list like this{{},{},{}} and I’m stuck. Please help me.Thanks!

Hello i have this code thats not written out in the write form can someone rearrange it for me quickly Thank you [closed]

.file 1 “” .section .mdebug.abi32 .previous .nan legacy .module fp=32 .module nooddspreg .abicalls .rdata .align 2 $ LC0: .ascii “Enter number of elements in array0” .align 2 $ LC1: .ascii “%d0” .align 2 $ LC2: .ascii “Enter %d integers20” .align 2 $ LC3: .ascii “Minimum element is present at location %d and its value ” .ascii “is %d.20” .text .align 2 .globl main .set nomips16 .set nomicromips .ent main .type main, @function main: .frame $ fp,448,$ 31 # vars= 416, regs= 2/0, args= 16, gp= 8 .mask 0xc0000000,-4 .fmask 0x00000000,0 .set noreorder .cpload $ 25 .set nomacro addiu $ sp,$ sp,-448 sw $ 31,444($ sp) sw $ fp,440($ sp) move $ fp,$ sp .cprestore 16 movz $ 31,$ 31,$ 0 li $ 2,1 # 0x1 sw $ 2,32($ fp) lw $ 2,%got($ LC0)($ 28) nop addiu $ 4,$ 2,%lo($ LC0) lw $ 2,%call16(puts)($ 28) nop move $ 25,$ 2 .reloc 1f,R_MIPS_JALR,puts 1: jalr $ 25 nop lw $ 28,16($ fp) addiu $ 2,$ fp,436 move $ 5,$ 2 lw $ 2,%got($ LC1)($ 28) nop addiu $ 4,$ 2,%lo($ LC1) lw $ 2,%call16(__isoc99_scanf)($ 28) nop move $ 25,$ 2 .reloc 1f,R_MIPS_JALR,__isoc99_scanf 1: jalr $ 25 nop lw $ 28,16($ fp) lw $ 2,436($ fp) nop move $ 5,$ 2 lw $ 2,%got($ LC2)($ 28) nop addiu $ 4,$ 2,%lo($ LC2) lw $ 2,%call16(printf)($ 28) nop move $ 25,$ 2 .reloc 1f,R_MIPS_JALR,printf 1: jalr $ 25 nop lw $ 28,16($ fp) sw $ 0,28($ fp) b $ L2 nop $ L3: addiu $ 3,$ fp,36 lw $ 2,28($ fp) nop sll $ 2,$ 2,2 addu $ 2,$ 3,$ 2 move $ 5,$ 2 lw $ 2,%got($ LC1)($ 28) nop addiu $ 4,$ 2,%lo($ LC1) lw $ 2,%call16(__isoc99_scanf)($ 28) nop move $ 25,$ 2 .reloc 1f,R_MIPS_JALR,__isoc99_scanf 1: jalr $ 25 nop lw $ 28,16($ fp) lw $ 2,28($ fp) nop addiu $ 2,$ 2,1 sw $ 2,28($ fp) $ L2: lw $ 2,436($ fp) lw $ 3,28($ fp) nop slt $ 2,$ 3,$ 2 bne $ 2,$ 0,$ L3 nop lw $ 2,36($ fp) nop sw $ 2,24($ fp) li $ 2,1 # 0x1 sw $ 2,28($ fp) b $ L4 nop $ L6: lw $ 2,28($ fp) nop sll $ 2,$ 2,2 addiu $ 3,$ fp,24 addu $ 2,$ 3,$ 2 lw $ 3,12($ 2) lw $ 2,24($ fp) nop slt $ 2,$ 3,$ 2 beq $ 2,$ 0,$ L5 nop lw $ 2,28($ fp) nop sll $ 2,$ 2,2 addiu $ 3,$ fp,24 addu $ 2,$ 3,$ 2 lw $ 2,12($ 2) nop sw $ 2,24($ fp) lw $ 2,28($ fp) nop addiu $ 2,$ 2,1 sw $ 2,32($ fp) $ L5: lw $ 2,28($ fp) nop addiu $ 2,$ 2,1 sw $ 2,28($ fp) $ L4: lw $ 2,436($ fp) lw $ 3,28($ fp) nop slt $ 2,$ 3,$ 2 bne $ 2,$ 0,$ L6 nop lw $ 6,24($ fp) lw $ 5,32($ fp) lw $ 2,%got($ LC3)($ 28) nop addiu $ 4,$ 2,%lo($ LC3) lw $ 2,%call16(printf)($ 28) nop move $ 25,$ 2 .reloc 1f,R_MIPS_JALR,printf 1: jalr $ 25 nop lw $ 28,16($ fp) move $ 2,$ 0 move $ sp,$ fp lw $ 31,444($ sp) lw $ fp,440($ sp) addiu $ sp,$ sp,448 j $ 31 nop .set macro .set reorder .end main .size main, .-main .ident “GCC: (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609”

Cipher suite is different in “client hello” for the same code running on different platforms

I’m facing a “Alert: handshake failure (40)” error when trying to establish a TLS connection. The error only happens when I run the same application on cloud, it works when I run the application on HPG8 server. OS is the same Redhat 7. By checking into the traces, I found that the cipher suite in “client hello” is much less in the error case than the worked case, and the cipher suite that TLS server supported is just missed in the “client hello” of the error case. I want to know what will impact the cipher suite that contains in the “client hello”?

The openssl version is the same (1.1.1d) for both cases, Redhat version has small difference. TLS1.2 is used. The key file and cert file are also the same.

In the code, I’m using SSL_set_cipher_list to set the cipher string as “ALL:!DH:!EXP:!RC4:@STRENGTH”.

SSL_set_cipher_list(ssl, "ALL:!DH:!EXP:!RC4:@STRENGTH"); 

I also checked the source code of openssl, but didn’t find much clue.

Cipher suite in the failure case:

Cipher Suites (25 suites)     Cipher Suite: TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca9)     Cipher Suite: TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca8)     Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 (0xc0af)     Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CCM (0xc0ad)     Cipher Suite: TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 (0xc05d)     Cipher Suite: TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 (0xc061)     Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)     Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)     Cipher Suite: TLS_RSA_WITH_AES_256_CCM_8 (0xc0a1)     Cipher Suite: TLS_RSA_WITH_AES_256_CCM (0xc09d)     Cipher Suite: TLS_RSA_WITH_ARIA_256_GCM_SHA384 (0xc051)     Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)     Cipher Suite: TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (0x0084)     Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 (0xc0ae)     Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CCM (0xc0ac)     Cipher Suite: TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 (0xc05c)     Cipher Suite: TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 (0xc060)     Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)     Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)     Cipher Suite: TLS_RSA_WITH_AES_128_CCM_8 (0xc0a0)     Cipher Suite: TLS_RSA_WITH_AES_128_CCM (0xc09c)     Cipher Suite: TLS_RSA_WITH_ARIA_128_GCM_SHA256 (0xc050)     Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)     Cipher Suite: TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (0x0041)     Cipher Suite: TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff) 

Cipher suite for successful case (0xc02f is the suite that server returned in “server hello”):

Cipher Suites (45 suites)     Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (0xc02c)     Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030)     Cipher Suite: TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca9)     Cipher Suite: TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca8)     Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 (0xc0af)     Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CCM (0xc0ad)     Cipher Suite: TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 (0xc05d)     Cipher Suite: TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 (0xc061)     Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 (0xc024)     Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028)     Cipher Suite: TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 (0xc073)     Cipher Suite: TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 (0xc077)     Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)     Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)     Cipher Suite: TLS_RSA_WITH_AES_256_GCM_SHA384 (0x009d)     Cipher Suite: TLS_RSA_WITH_AES_256_CCM_8 (0xc0a1)     Cipher Suite: TLS_RSA_WITH_AES_256_CCM (0xc09d)     Cipher Suite: TLS_RSA_WITH_ARIA_256_GCM_SHA384 (0xc051)     Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA256 (0x003d)     Cipher Suite: TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 (0x00c0)     Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)     Cipher Suite: TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (0x0084)     Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b)     Cipher Suite: **TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256** (0xc02f)     Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 (0xc0ae)     Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CCM (0xc0ac)     Cipher Suite: TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 (0xc05c)     Cipher Suite: TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 (0xc060)     Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 (0xc023)     Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (0xc027)     Cipher Suite: TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 (0xc072)     Cipher Suite: TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 (0xc076)     Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)     Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)     Cipher Suite: TLS_RSA_WITH_AES_128_GCM_SHA256 (0x009c)     Cipher Suite: TLS_RSA_WITH_AES_128_CCM_8 (0xc0a0)     Cipher Suite: TLS_RSA_WITH_AES_128_CCM (0xc09c)     Cipher Suite: TLS_RSA_WITH_ARIA_128_GCM_SHA256 (0xc050)     Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA256 (0x003c)     Cipher Suite: TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 (0x00ba)     Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)     Cipher Suite: TLS_RSA_WITH_SEED_CBC_SHA (0x0096)     Cipher Suite: TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (0x0041)     Cipher Suite: TLS_RSA_WITH_IDEA_CBC_SHA (0x0007)     Cipher Suite: TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff) 

TCP communication in between the TLS1.2 client and server hello?

I’m building an IoT project using AWS. All works as intended, however I’ve done some wireshark analysis of a message being published to the cloud: The TCP handshake is as expected, and all the elements of the TLS handshake are as expected. However, between the client hello, and the server hello there are three exchanges of TCP packets: Should see it in the picture – Any idea what these TCP packets contain? enter image description here

Hello Every One, Can a Coroutine blocks a Ui-tread and main thread? Here is my anr reports…:)

"main" prio=5 tid=1 Native   | group="main" sCount=1 dsCount=0 obj=0x76124000 self=0xb8c90630   | sysTid=14257 nice=-6 cgrp=apps sched=0/0 handle=0xb6f3cec8   | state=S schedstat=( 17722980711 3926538577 33817 ) utm=1401 stm=371 core=0 HZ=100   | stack=0xbe193000-0xbe195000 stackSize=8MB   | held mutexes=   #00  pc 0000000000039cc0  /system/lib/libc.so (__ioctl+8)   #01  pc 000000000003f3d9  /system/lib/libc.so (ioctl+14)   #02  pc 000000000001cbbb  /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+138)   #03  pc 000000000001d1d7  /system/lib/libbinder.so (android::IPCThreadState::waitForResponse(android::Parcel*, int*)+42)   #04  pc 000000000001d379  /system/lib/libbinder.so (android::IPCThreadState::transact(int, unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+124)   #05  pc 000000000001860f  /system/lib/libbinder.so (android::BpBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+30)   #06  pc 00000000000875f3  /system/lib/libandroid_runtime.so (???)   #07  pc 0000000000a88b99  /system/framework/arm/boot.oat (Java_android_os_BinderProxy_transactNative__ILandroid_os_Parcel_2Landroid_os_Parcel_2I+144)   at android.os.BinderProxy.transactNative (Native method)   at android.os.BinderProxy.transact (Binder.java:496)   at aq.a (com.google.android.gms.dynamite_measurementdynamite@200414028@20.04.14 (020304-0):38) - locked <@addr=0x12f9a200> (a java.lang.Object)   at an.a (com.google.android.gms.dynamite_measurementdynamite@200414028@20.04.14 (020304-0):3)   at ap.a (com.google.android.gms.dynamite_measurementdynamite@200414028@20.04.14 (020304-0):3)   at ah.c (com.google.android.gms.dynamite_measurementdynamite@200414028@20.04.14 (020304-0):8)   at ak.handleMessage (com.google.android.gms.dynamite_measurementdynamite@200414028@20.04.14 (020304-0):29)   at android.os.Handler.dispatchMessage (Handler.java:102)   at android.os.Looper.loop (Looper.java:135)   at android.app.ActivityThread.main (ActivityThread.java:5753)   at java.lang.reflect.Method.invoke! (Native method)   at java.lang.reflect.Method.invoke (Method.java:372)   at com.android.internal.os.ZygoteInit$  MethodAndArgsCaller.run (ZygoteInit.java:1405)   at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1200)     "main" prio=5 tid=1 Native   | group="main" sCount=1 dsCount=0 obj=0x75271f70 self=0xa8005400   | sysTid=23701 nice=-4 cgrp=default sched=0/0 handle=0xaacb9534   | state=S schedstat=( 0 0 0 ) utm=667 stm=316 core=0 HZ=100   | stack=0xbe1ff000-0xbe201000 stackSize=8MB   | held mutexes=   #00  pc 00000000000484d8  /system/lib/libc.so (__epoll_pwait+20)   #01  pc 000000000001a19d  /system/lib/libc.so (epoll_pwait+60)   #02  pc 000000000001a1cd  /system/lib/libc.so (epoll_wait+12)   #03  pc 0000000000011c87  /system/lib/libutils.so (android::Looper::pollInner(int)+118)   #04  pc 0000000000011b83  /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+26)   #05  pc 000000000008f169  /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, _jobject*, int)+22)   #06  pc 000000000061c5bd  /system/framework/arm/boot-framework.oat (Java_android_os_MessageQueue_nativePollOnce__JI+96)   at android.os.MessageQueue.nativePollOnce (Native method)   at android.os.MessageQueue.next (MessageQueue.java:323)   at android.os.Looper.loop (Looper.java:136)   at android.app.ActivityThread.main (ActivityThread.java:6146)   at java.lang.reflect.Method.invoke! (Native method)   at com.android.internal.os.ZygoteInit$  MethodAndArgsCaller.run (ZygoteInit.java:865)   at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:755)      "main" prio=5 tid=1 Native   | group="main" sCount=1 dsCount=0 obj=0x75781708 self=0xb0085400   | sysTid=16356 nice=-4 cgrp=default sched=0/0 handle=0xb2d18534   | state=S schedstat=( 0 0 0 ) utm=81 stm=59 core=0 HZ=100   | stack=0xbe670000-0xbe672000 stackSize=8MB   | held mutexes=   #00  pc 00000000000173f4  /system/lib/libc.so (syscall+28)   #01  pc 00000000000b713d  /system/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+92)   #02  pc 00000000003f23ab  /system/lib/libart.so (art::GoToRunnable(art::Thread*)+230)   #03  pc 00000000003f229b  /system/lib/libart.so (art::JniMethodEnd(unsigned int, art::Thread*)+8)   #04  pc 0000000000621b8f  /system/framework/arm/boot-framework.oat (Java_android_os_MessageQueue_nativePollOnce__JI+106)   at android.os.MessageQueue.nativePollOnce (Native method)   at android.os.MessageQueue.next (MessageQueue.java:323)   at android.os.Looper.loop (Looper.java:136)   at android.app.ActivityThread.main (ActivityThread.java:6216)   at java.lang.reflect.Method.invoke! (Native method)   at com.android.internal.os.ZygoteInit$  MethodAndArgsCaller.run (ZygoteInit.java:887)   at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:777)       "main" prio=5 tid=1 Native   | group="main" sCount=1 dsCount=0 flags=1 obj=0x72ff3770 self=0xa803f000   | sysTid=14677 nice=-10 cgrp=default sched=0/0 handle=0xaca064a4   | state=S schedstat=( 2405664844 1074645320 2868 ) utm=79 stm=160 core=1 HZ=100   | stack=0xbe153000-0xbe155000 stackSize=8MB   | held mutexes=   #00  pc 0000000000018cc4  /system/lib/libc.so (syscall+28)   #01  pc 00000000000b71cd  /system/lib/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+80)   #02  pc 00000000003e0911  /system/lib/libart.so (art::GoToRunnable(art::Thread*)+300)   #03  pc 00000000003e07b5  /system/lib/libart.so (art::JniMethodEnd(unsigned int, art::Thread*)+8)   #04  pc 0000000000772161  /system/framework/arm/boot-framework.oat (Java_android_os_BinderProxy_transactNative__ILandroid_os_Parcel_2Landroid_os_Parcel_2I+144)   at android.os.BinderProxy.transactNative (Native method)   at android.os.BinderProxy.transact (Binder.java:776)   at android.app.IActivityManager$  Stub$  Proxy.refContentProvider (IActivityManager.java:4841)   at android.app.ActivityThread.incProviderRefLocked (ActivityThread.java:6225)   at android.app.ActivityThread.acquireExistingProvider (ActivityThread.java:6288) - locked <0x00829d09> (a android.util.ArrayMap)   at android.app.ActivityThread.acquireProvider (ActivityThread.java:6166)   at android.app.ContextImpl$  ApplicationContentResolver.acquireProvider (ContextImpl.java:2526)   at android.content.ContentResolver.acquireProvider (ContentResolver.java:1733)   at android.content.ContentResolver.query (ContentResolver.java:779)   at android.content.ContentResolver.query (ContentResolver.java:704)   at android.content.ContentResolver.query (ContentResolver.java:662)   at com.google.android.gms.dynamite.DynamiteModule.zzc (unavailable:122)   at com.google.android.gms.dynamite.DynamiteModule.zza (unavailable:96)   at com.google.android.gms.dynamite.DynamiteModule.getRemoteVersion (unavailable:149)   at com.google.android.gms.internal.ads.zzus.zzd   at com.google.android.gms.internal.ads.zzxd.zza   at com.google.android.gms.ads.InterstitialAd.loadAd   at com.google.unity.ads.Interstitial$  2.run (Interstitial.java:152)   at android.os.Handler.handleCallback (Handler.java:795)   at android.os.Handler.dispatchMessage (Handler.java:99)   at android.os.Looper.loop (Looper.java:166)   at android.app.ActivityThread.main (ActivityThread.java:6861)   at java.lang.reflect.Method.invoke (Native method)   at com.android.internal.os.RuntimeInit$  MethodAndArgsCaller.run (RuntimeInit.java:450)   at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:936)        "main" prio=5 tid=1 Waiting   | group="main" sCount=1 dsCount=0 obj=0x85921000 self=0xb4827800   | sysTid=32088 nice=0 cgrp=default sched=0/0 handle=0xb6f36bec   | state=S schedstat=( 0 0 0 ) utm=287 stm=134 core=0 HZ=100   | stack=0xbe303000-0xbe305000 stackSize=8MB   | held mutexes=   at java.lang.Object.wait! (Native method) - waiting on <0x2e0733ff> (a java.lang.Object)   at java.lang.Thread.parkFor (Thread.java:1220) - locked <0x2e0733ff> (a java.lang.Object)   at sun.misc.Unsafe.park (Unsafe.java:299)   at java.util.concurrent.locks.LockSupport.park (LockSupport.java:157)   at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt (AbstractQueuedSynchronizer.java:813)   at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly (AbstractQueuedSynchronizer.java:973)   at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly (AbstractQueuedSynchronizer.java:1281)   at java.util.concurrent.CountDownLatch.await (CountDownLatch.java:202)   at android.app.SharedPreferencesImpl$  EditorImpl$  1.run (SharedPreferencesImpl.java:363)   at android.app.QueuedWork.waitToFinish (QueuedWork.java:88)   at android.app.ActivityThread.handleStopActivity (ActivityThread.java:3866)   at android.app.ActivityThread.access$  1200 (ActivityThread.java:177)   at android.app.ActivityThread$  H.handleMessage (ActivityThread.java:1454)   at android.os.Handler.dispatchMessage (Handler.java:102)   at android.os.Looper.loop (Looper.java:135)   at android.app.ActivityThread.main (ActivityThread.java:5910)   at java.lang.reflect.Method.invoke! (Native method)   at java.lang.reflect.Method.invoke (Method.java:372)   at com.android.internal.os.ZygoteInit$  MethodAndArgsCaller.run (ZygoteInit.java:1405)   at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1200)       "main" prio=5 tid=1 Native   | group="main" sCount=1 dsCount=0 flags=1 obj=0x741d4730 self=0x6f354c2a00   | sysTid=9741 nice=-10 cgrp=default sched=0/0 handle=0x6fba6d99a8   | state=S schedstat=( 1881119592 824547978 3737 ) utm=137 stm=51 core=0 HZ=100   | stack=0x7fe16a2000-0x7fe16a4000 stackSize=8MB   | held mutexes=   #00  pc 000000000001e4ac  /system/lib64/libc.so (syscall+28)   #01  pc 00000000000e7620  /system/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+152)   #02  pc 0000000000346158  /system/lib64/libart.so (art::JNI::CallObjectMethod(_JNIEnv*, _jobject*, _jmethodID*, ...)+552)   #03  pc 00000000000eede0  /system/lib64/libandroid_runtime.so (android::NativeDisplayEventReceiver::dispatchVsync(long, int, unsigned int)+48)   #04  pc 0000000000048514  /system/lib64/libandroidfw.so (android::DisplayEventDispatcher::handleEvent(int, int, void*)+164)   #05  pc 0000000000016260  /system/lib64/libutils.so (android::Looper::pollInner(int)+816)   #06  pc 0000000000015ea0  /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+108)   #07  pc 000000000011b610  /system/lib64/libandroid_runtime.so (???)   #08  pc 00000000001f6aac  /system/framework/arm64/boot-framework.oat (Java_android_os_MessageQueue_nativePollOnce__JI+140)   at android.os.MessageQueue.nativePollOnce (Native method)   at android.os.MessageQueue.next (MessageQueue.java:325)   at android.os.Looper.loop (Looper.java:170)   at android.app.ActivityThread.main (ActivityThread.java:7055)   at java.lang.reflect.Method.invoke (Native method)   at com.android.internal.os.RuntimeInit$  MethodAndArgsCaller.run (RuntimeInit.java:523)   at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:836)         "main" prio=5 tid=1 Native   | group="main" sCount=1 dsCount=0 flags=1 obj=0x72756c68 self=0x750cc5fe00   | sysTid=7355 nice=-10 cgrp=default sched=0/0 handle=0x75929b69a8   | state=S schedstat=( 1434359968 1175390232 4126 ) utm=73 stm=70 core=0 HZ=100   | stack=0x7fedfcc000-0x7fedfce000 stackSize=8MB   | held mutexes=   #00  pc 000000000007a1c0  /system/lib64/libc.so (__epoll_pwait+8)   #01  pc 00000000000201d8  /system/lib64/libc.so (epoll_pwait+48)   #02  pc 0000000000015f9c  /system/lib64/libutils.so (android::Looper::pollInner(int)+148)   #03  pc 0000000000015e78  /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+108)   #04  pc 0000000000117434  /system/lib64/libandroid_runtime.so (???)   #05  pc 00000000001e7e6c  /system/framework/arm64/boot-framework.oat (Java_android_os_MessageQueue_nativePollOnce__JI+140)   at android.os.MessageQueue.nativePollOnce (Native method)   at android.os.MessageQueue.next (MessageQueue.java:329)   at android.os.Looper.loop (Looper.java:150)   at android.app.ActivityThread.main (ActivityThread.java:6702)   at java.lang.reflect.Method.invoke (Native method)   at com.android.internal.os.RuntimeInit$  MethodAndArgsCaller.run (RuntimeInit.java:549)   at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:826)         "main" prio=5 tid=1 Native   | group="main" sCount=1 dsCount=0 flags=1 obj=0xec01358 self=0xa79d0000   | sysTid=21324 nice=-20 cgrp=default sched=1073741825/1 handle=0xab8514a4   | state=S schedstat=( 12419814912 272368784 4478 ) utm=1186 stm=55 core=0 HZ=100   | stack=0xbe7fe000-0xbe800000 stackSize=8MB   | held mutexes=   #00  pc 00000000000486cc  /system/lib/libc.so (__ioctl+8)   #01  pc 000000000001d09f  /system/lib/libc.so (ioctl+38)   #02  pc 000000000004267f  /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+170)   #03  pc 0000000000043039  /system/lib/libbinder.so (android::IPCThreadState::waitForResponse(android::Parcel*, int*)+236)   #04  pc 000000000003d535  /system/lib/libbinder.so (android::BpBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+36)   #05  pc 00000000000bc995  /system/lib/libandroid_runtime.so (???)   #06  pc 0000000000410079  /system/lib/libart.so (art_quick_generic_jni_trampoline+40)   #07  pc 000000000040bb75  /system/lib/libart.so (art_quick_invoke_stub_internal+68)   #08  pc 0000000000410ce7  /system/lib/libart.so (art_quick_invoke_stub+230)   #09  pc 00000000000b0ab7  /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+138)   #10  pc 0000000000205e79  /system/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+220)   #11  pc 0000000000201395  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+588)   #12  pc 00000000003f5d3b  /system/lib/libart.so (MterpInvokeVirtual+482)   #13  pc 00000000003fdf94  /system/lib/libart.so (ExecuteMterpImpl+14228)   #14  pc 00000000001e820d  /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool)+340)   #15  pc 00000000001ec9c3  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*)+142)   #16  pc 000000000020137d  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+564)   #17  pc 00000000003f691b  /system/lib/libart.so (MterpInvokeInterface+1078)   #18  pc 00000000003fe194  /system/lib/libart.so (ExecuteMterpImpl+14740)   #19  pc 00000000001e820d  /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool)+340)   #20  pc 00000000001ec9c3  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*)+142)   #21  pc 000000000020137d  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+564)   #22  pc 00000000003f691b  /system/lib/libart.so (MterpInvokeInterface+1078)   #23  pc 00000000003fe194  /system/lib/libart.so (ExecuteMterpImpl+14740)   #24  pc 00000000001e820d  /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool)+340)   #25  pc 00000000001ec9c3  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*)+142)   #26  pc 000000000020137d  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+564)   #27  pc 00000000003f5d3b  /system/lib/libart.so (MterpInvokeVirtual+482)   #28  pc 00000000003fdf94  /system/lib/libart.so (ExecuteMterpImpl+14228)   #29  pc 00000000001e820d  /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool)+340)   #30  pc 00000000001ec9c3  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*)+142)   #31  pc 000000000020137d  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+564)   #32  pc 00000000003f5d3b  /system/lib/libart.so (MterpInvokeVirtual+482)   #33  pc 00000000003fdf94  /system/lib/libart.so (ExecuteMterpImpl+14228)   #34  pc 00000000001e820d  /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool)+340)   #35  pc 00000000001ec9c3  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*)+142)   #36  pc 000000000020137d  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+564)   #37  pc 00000000003f6d3d  /system/lib/libart.so (MterpInvokeStatic+184)   #38  pc 00000000003fe114  /system/lib/libart.so (ExecuteMterpImpl+14612)   #39  pc 00000000001e820d  /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool)+340)   #40  pc 00000000001ec9c3  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*)+142)   #41  pc 000000000020137d  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+564)   #42  pc 00000000003f691b  /system/lib/libart.so (MterpInvokeInterface+1078)   #43  pc 00000000003fe194  /system/lib/libart.so (ExecuteMterpImpl+14740)   #44  pc 00000000001e820d  /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool)+340)   #45  pc 00000000001ec9c3  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*)+142)   #46  pc 000000000020137d  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+564)   #47  pc 00000000003f6271  /system/lib/libart.so (MterpInvokeSuper+1148)   #48  pc 00000000003fe014  /system/lib/libart.so (ExecuteMterpImpl+14356)   #49  pc 00000000001e820d  /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool)+340)   #50  pc 00000000001ec9c3  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*)+142)   #51  pc 000000000020137d  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+564)   #52  pc 00000000003f5d3b  /system/lib/libart.so (MterpInvokeVirtual+482)   #53  pc 00000000003fdf94  /system/lib/libart.so (ExecuteMterpImpl+14228)   #54  pc 00000000001e820d  /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool)+340)   #55  pc 00000000001ec9c3  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*)+142)   #56  pc 000000000020137d  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+564)   #57  pc 00000000003f5d3b  /system/lib/libart.so (MterpInvokeVirtual+482)   #58  pc 00000000003fdf94  /system/lib/libart.so (ExecuteMterpImpl+14228)   #59  pc 00000000001e820d  /system/lib/libart.so (art::interpreter::Execute(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame&, art::JValue, bool)+340)   #60  pc 00000000001ec9c3  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::DexFile::CodeItem const*, art::ShadowFrame*, art::JValue*)+142)   #61  pc 000000000020137d  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+564)   #62  pc 00000000003f6d3d  /system/lib/libart.so (MterpInvokeStatic+184)   #63  pc 00000000003fe114  /system/lib/libart.so (ExecuteMterpImpl+14612)   at android.os.BinderProxy.transactNative (Native method)   at android.os.BinderProxy.transact (Binder.java:792)   at android.app.IActivityManager$  Stub$  Proxy.unbindService (IActivityManager.java:5007)   at android.app.ContextImpl.unbindService (ContextImpl.java:1641)   at android.content.ContextWrapper.unbindService (ContextWrapper.java:703)   at mc.a (com.google.android.gms.policy_ads_fdr_dynamite@21207000@21207000.283464268.283464268:3)   at ld.handleMessage (com.google.android.gms.policy_ads_fdr_dynamite@21207000@21207000.283464268.283464268:10) - locked <0x01ea765f> (a java.util.HashMap)   at android.os.Handler.dispatchMessage (Handler.java:102)   at oz.a (com.google.android.gms.policy_ads_fdr_dynamite@21207000@21207000.283464268.283464268)   at oz.dispatchMessage (com.google.android.gms.policy_ads_fdr_dynamite@21207000@21207000.283464268.283464268)   at android.os.Looper.loop (Looper.java:164)   at android.app.ActivityThread.main (ActivityThread.java:6747)   at java.lang.reflect.Method.invoke (Native method)   at com.android.internal.os.RuntimeInit$  MethodAndArgsCaller.run (RuntimeInit.java:449)   at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:807) 

No Client Hello w/ SNI when accessing website’s subdomain via link

I noticed this while testing SNI-based HTTPS filtering for fun.

mail.yahoo.com is blocked when accessed directly. It is not blocked if you login to your Yahoo account and access mail.yahoo.com via the “Mail” link. I ran a packet capture and see there are no Client Hello messages with the mail.yahoo.com name in the SNI extension field when I click the “Mail” link.

My assumption is that the client is somehow re-using the same connection since the *.yahoo.com certificate is valid for both domains. Anybody with some deeper knowledge of TLS able to clarify what’s going on or able to point me in direction of some documentation?

Also, if that’s the case, then why does Chrome send a Client Hello w/ Google subdomains when attempting similar tests via accounts.google.com?

NOTE: I’m blocking UDP/80 and UDP/443, so QUIC should not be influencing my results. Also, I use deep inspection in my day-to-day, so please no responses telling me to stop using SNI-filtering.

Server sending RST after Client Hello

We are facing intermittent TLS handshake issue while connecting from a C++ (Openssl 1.0.2e) client to a Java Server (Java 7). The issue is observed on load test after having around 100 session sending concurent requests, that too on linux platform. Server is sending RST message immediately after “Client Hello” message. On client side the SSL_CTX object is created with TLSv1_2_client_method(). On server side the context instance is created by invoking SSLContext.getInstance(“TLSv1.2”). Also we are limiting the enbled protocol to TLSv1.2 on server side. Whenever this issue is observed we have noticed that Client Hello Protocol on Wireshark as “TLSv1”, in all other cases(SUCCESS) the Client Hello Protocol is displayed as TLSv1.2.

Also I understand the Handshake layer version number is important and any TLS1.2 compliant server MUST accept any value {03,XX} as the record layer version number for ClientHello as per RFC5246. But whenever the failuere is observed, record layer is “TLSv1 Record Layer: Handshake Protocol: Client Hello”. In the case of successful handshake the record layer is “TLSv1.2 Record Layer: Handshake Protocol: Client Hello”. The client hello message for both the cases are given below, note that the cipher suites and signature algorithm are same in both the cases.

Client Hello message when issue occurs:

Transport Layer Security TLSv1 Record Layer: Handshake Protocol: Client Hello     Content Type: Handshake (22)     Version: TLS 1.0 (0x0301)     Length: 358     Handshake Protocol: Client Hello         Handshake Type: Client Hello (1)         Length: 354         Version: TLS 1.2 (0x0303)         Random: 44e153eb9aa960e39e7dd4c01fbc1cc3770d95e0d70d6aac…             GMT Unix Time: Aug 15, 2006 10:26:11.000000000 India Standard Time             Random Bytes: 9aa960e39e7dd4c01fbc1cc3770d95e0d70d6aac83f458ab…         Session ID Length: 0         Cipher Suites Length: 228         Cipher Suites (114 suites)             Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030)             Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (0xc02c)             Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028)             Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 (0xc024)             Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)             Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)             Cipher Suite: TLS_DH_DSS_WITH_AES_256_GCM_SHA384 (0x00a5)             Cipher Suite: TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 (0x00a3)             Cipher Suite: TLS_DH_RSA_WITH_AES_256_GCM_SHA384 (0x00a1)             Cipher Suite: TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (0x009f)             Cipher Suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (0x006b)             Cipher Suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 (0x006a)             Cipher Suite: TLS_DH_RSA_WITH_AES_256_CBC_SHA256 (0x0069)             Cipher Suite: TLS_DH_DSS_WITH_AES_256_CBC_SHA256 (0x0068)             Cipher Suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039)             Cipher Suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA (0x0038)             Cipher Suite: TLS_DH_RSA_WITH_AES_256_CBC_SHA (0x0037)             Cipher Suite: TLS_DH_DSS_WITH_AES_256_CBC_SHA (0x0036)             Cipher Suite: TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (0x0088)             Cipher Suite: TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA (0x0087)             Cipher Suite: TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA (0x0086)             Cipher Suite: TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA (0x0085)             Cipher Suite: TLS_ECDH_anon_WITH_AES_256_CBC_SHA (0xc019)             Cipher Suite: TLS_DH_anon_WITH_AES_256_GCM_SHA384 (0x00a7)             Cipher Suite: TLS_DH_anon_WITH_AES_256_CBC_SHA256 (0x006d)             Cipher Suite: TLS_DH_anon_WITH_AES_256_CBC_SHA (0x003a)             Cipher Suite: TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA (0x0089)             Cipher Suite: TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 (0xc032)             Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 (0xc02e)             Cipher Suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 (0xc02a)             Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 (0xc026)             Cipher Suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA (0xc00f)             Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA (0xc005)             Cipher Suite: TLS_RSA_WITH_AES_256_GCM_SHA384 (0x009d)             Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA256 (0x003d)             Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)             Cipher Suite: TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (0x0084)             Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f)             Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b)             Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (0xc027)             Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 (0xc023)             Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)             Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)             Cipher Suite: TLS_DH_DSS_WITH_AES_128_GCM_SHA256 (0x00a4)             Cipher Suite: TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 (0x00a2)             Cipher Suite: TLS_DH_RSA_WITH_AES_128_GCM_SHA256 (0x00a0)             Cipher Suite: TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (0x009e)             Cipher Suite: TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (0x0067)             Cipher Suite: TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 (0x0040)             Cipher Suite: TLS_DH_RSA_WITH_AES_128_CBC_SHA256 (0x003f)             Cipher Suite: TLS_DH_DSS_WITH_AES_128_CBC_SHA256 (0x003e)             Cipher Suite: TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)             Cipher Suite: TLS_DHE_DSS_WITH_AES_128_CBC_SHA (0x0032)             Cipher Suite: TLS_DH_RSA_WITH_AES_128_CBC_SHA (0x0031)             Cipher Suite: TLS_DH_DSS_WITH_AES_128_CBC_SHA (0x0030)             Cipher Suite: TLS_DHE_RSA_WITH_SEED_CBC_SHA (0x009a)             Cipher Suite: TLS_DHE_DSS_WITH_SEED_CBC_SHA (0x0099)             Cipher Suite: TLS_DH_RSA_WITH_SEED_CBC_SHA (0x0098)             Cipher Suite: TLS_DH_DSS_WITH_SEED_CBC_SHA (0x0097)             Cipher Suite: TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (0x0045)             Cipher Suite: TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA (0x0044)             Cipher Suite: TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA (0x0043)             Cipher Suite: TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA (0x0042)             Cipher Suite: TLS_ECDH_anon_WITH_AES_128_CBC_SHA (0xc018)             Cipher Suite: TLS_DH_anon_WITH_AES_128_GCM_SHA256 (0x00a6)             Cipher Suite: TLS_DH_anon_WITH_AES_128_CBC_SHA256 (0x006c)             Cipher Suite: TLS_DH_anon_WITH_AES_128_CBC_SHA (0x0034)             Cipher Suite: TLS_DH_anon_WITH_SEED_CBC_SHA (0x009b)             Cipher Suite: TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA (0x0046)             Cipher Suite: TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 (0xc031)             Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02d)             Cipher Suite: TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 (0xc029)             Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 (0xc025)             Cipher Suite: TLS_ECDH_RSA_WITH_AES_128_CBC_SHA (0xc00e)             Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA (0xc004)             Cipher Suite: TLS_RSA_WITH_AES_128_GCM_SHA256 (0x009c)             Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA256 (0x003c)             Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)             Cipher Suite: TLS_RSA_WITH_SEED_CBC_SHA (0x0096)             Cipher Suite: TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (0x0041)             Cipher Suite: TLS_RSA_WITH_IDEA_CBC_SHA (0x0007)             Cipher Suite: TLS_ECDHE_RSA_WITH_RC4_128_SHA (0xc011)             Cipher Suite: TLS_ECDHE_ECDSA_WITH_RC4_128_SHA (0xc007)             Cipher Suite: TLS_ECDH_anon_WITH_RC4_128_SHA (0xc016)             Cipher Suite: TLS_DH_anon_WITH_RC4_128_MD5 (0x0018)             Cipher Suite: TLS_ECDH_RSA_WITH_RC4_128_SHA (0xc00c)             Cipher Suite: TLS_ECDH_ECDSA_WITH_RC4_128_SHA (0xc002)             Cipher Suite: TLS_RSA_WITH_RC4_128_SHA (0x0005)             Cipher Suite: TLS_RSA_WITH_RC4_128_MD5 (0x0004)             Cipher Suite: TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (0xc012)             Cipher Suite: TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA (0xc008)             Cipher Suite: TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x0016)             Cipher Suite: TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x0013)             Cipher Suite: TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA (0x0010)             Cipher Suite: TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA (0x000d)             Cipher Suite: TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA (0xc017)             Cipher Suite: TLS_DH_anon_WITH_3DES_EDE_CBC_SHA (0x001b)             Cipher Suite: TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA (0xc00d)             Cipher Suite: TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA (0xc003)             Cipher Suite: TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)             Cipher Suite: TLS_DHE_RSA_WITH_DES_CBC_SHA (0x0015)             Cipher Suite: TLS_DHE_DSS_WITH_DES_CBC_SHA (0x0012)             Cipher Suite: TLS_DH_RSA_WITH_DES_CBC_SHA (0x000f)             Cipher Suite: TLS_DH_DSS_WITH_DES_CBC_SHA (0x000c)             Cipher Suite: TLS_DH_anon_WITH_DES_CBC_SHA (0x001a)             Cipher Suite: TLS_RSA_WITH_DES_CBC_SHA (0x0009)             Cipher Suite: TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0014)             Cipher Suite: TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA (0x0011)             Cipher Suite: TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA (0x0019)             Cipher Suite: TLS_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0008)             Cipher Suite: TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 (0x0006)             Cipher Suite: TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 (0x0017)             Cipher Suite: TLS_RSA_EXPORT_WITH_RC4_40_MD5 (0x0003)             Cipher Suite: TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)         Compression Methods Length: 1         Compression Methods (1 method)             Compression Method: null (0)         Extensions Length: 85         Extension: ec_point_formats (len=4)             Type: ec_point_formats (11)             Length: 4             EC point formats Length: 3             Elliptic curves point formats (3)                 EC point format: uncompressed (0)                 EC point format: ansiX962_compressed_prime (1)                 EC point format: ansiX962_compressed_char2 (2)         Extension: supported_groups (len=28)             Type: supported_groups (10)             Length: 28             Supported Groups List Length: 26             Supported Groups (13 groups)                 Supported Group: secp256r1 (0x0017)                 Supported Group: secp521r1 (0x0019)                 Supported Group: brainpoolP512r1 (0x001c)                 Supported Group: brainpoolP384r1 (0x001b)                 Supported Group: secp384r1 (0x0018)                 Supported Group: brainpoolP256r1 (0x001a)                 Supported Group: secp256k1 (0x0016)                 Supported Group: sect571r1 (0x000e)                 Supported Group: sect571k1 (0x000d)                 Supported Group: sect409k1 (0x000b)                 Supported Group: sect409r1 (0x000c)                 Supported Group: sect283k1 (0x0009)                 Supported Group: sect283r1 (0x000a)         Extension: session_ticket (len=0)             Type: session_ticket (35)             Length: 0             Data (0 bytes)         Extension: signature_algorithms (len=32)             Type: signature_algorithms (13)             Length: 32             Signature Hash Algorithms Length: 30             Signature Hash Algorithms (15 algorithms)                 Signature Algorithm: rsa_pkcs1_sha512 (0x0601)                     Signature Hash Algorithm Hash: SHA512 (6)                     Signature Hash Algorithm Signature: RSA (1)                 Signature Algorithm: SHA512 DSA (0x0602)                     Signature Hash Algorithm Hash: SHA512 (6)                     Signature Hash Algorithm Signature: DSA (2)                 Signature Algorithm: ecdsa_secp521r1_sha512 (0x0603)                     Signature Hash Algorithm Hash: SHA512 (6)                     Signature Hash Algorithm Signature: ECDSA (3)                 Signature Algorithm: rsa_pkcs1_sha384 (0x0501)                     Signature Hash Algorithm Hash: SHA384 (5)                     Signature Hash Algorithm Signature: RSA (1)                 Signature Algorithm: SHA384 DSA (0x0502)                     Signature Hash Algorithm Hash: SHA384 (5)                     Signature Hash Algorithm Signature: DSA (2)                 Signature Algorithm: ecdsa_secp384r1_sha384 (0x0503)                     Signature Hash Algorithm Hash: SHA384 (5)                     Signature Hash Algorithm Signature: ECDSA (3)                 Signature Algorithm: rsa_pkcs1_sha256 (0x0401)                     Signature Hash Algorithm Hash: SHA256 (4)                     Signature Hash Algorithm Signature: RSA (1)                 Signature Algorithm: SHA256 DSA (0x0402)                     Signature Hash Algorithm Hash: SHA256 (4)                     Signature Hash Algorithm Signature: DSA (2)                 Signature Algorithm: ecdsa_secp256r1_sha256 (0x0403)                     Signature Hash Algorithm Hash: SHA256 (4)                     Signature Hash Algorithm Signature: ECDSA (3)                 Signature Algorithm: SHA224 RSA (0x0301)                     Signature Hash Algorithm Hash: SHA224 (3)                     Signature Hash Algorithm Signature: RSA (1)                 Signature Algorithm: SHA224 DSA (0x0302)                     Signature Hash Algorithm Hash: SHA224 (3)                     Signature Hash Algorithm Signature: DSA (2)                 Signature Algorithm: SHA224 ECDSA (0x0303)                     Signature Hash Algorithm Hash: SHA224 (3)                     Signature Hash Algorithm Signature: ECDSA (3)                 Signature Algorithm: rsa_pkcs1_sha1 (0x0201)                     Signature Hash Algorithm Hash: SHA1 (2)                     Signature Hash Algorithm Signature: RSA (1)                 Signature Algorithm: SHA1 DSA (0x0202)                     Signature Hash Algorithm Hash: SHA1 (2)                     Signature Hash Algorithm Signature: DSA (2)                 Signature Algorithm: ecdsa_sha1 (0x0203)                     Signature Hash Algorithm Hash: SHA1 (2)                     Signature Hash Algorithm Signature: ECDSA (3)         Extension: heartbeat (len=1)             Type: heartbeat (15)             Length: 1             Mode: Peer allowed to send requests (1) 

Client Hello when handshake is successful:

TLSv1.2 Record Layer: Handshake Protocol: Client Hello Content Type: Handshake (22) Version: TLS 1.0 (0x0301) Length: 358 Handshake Protocol: Client Hello     Handshake Type: Client Hello (1)     Length: 354     Version: TLS 1.2 (0x0303)     Random: b2e7fe85a0e4403ae4fec4d698094b919375f9afed8efff4…     Session ID Length: 0     Cipher Suites Length: 228     Cipher Suites (114 suites)         Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030)         Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (0xc02c)         Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028)         Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 (0xc024)         Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)         Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)         Cipher Suite: TLS_DH_DSS_WITH_AES_256_GCM_SHA384 (0x00a5)         Cipher Suite: TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 (0x00a3)         Cipher Suite: TLS_DH_RSA_WITH_AES_256_GCM_SHA384 (0x00a1)         Cipher Suite: TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (0x009f)         Cipher Suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (0x006b)         Cipher Suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 (0x006a)         Cipher Suite: TLS_DH_RSA_WITH_AES_256_CBC_SHA256 (0x0069)         Cipher Suite: TLS_DH_DSS_WITH_AES_256_CBC_SHA256 (0x0068)         Cipher Suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039)         Cipher Suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA (0x0038)         Cipher Suite: TLS_DH_RSA_WITH_AES_256_CBC_SHA (0x0037)         Cipher Suite: TLS_DH_DSS_WITH_AES_256_CBC_SHA (0x0036)         Cipher Suite: TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (0x0088)         Cipher Suite: TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA (0x0087)         Cipher Suite: TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA (0x0086)         Cipher Suite: TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA (0x0085)         Cipher Suite: TLS_ECDH_anon_WITH_AES_256_CBC_SHA (0xc019)         Cipher Suite: TLS_DH_anon_WITH_AES_256_GCM_SHA384 (0x00a7)         Cipher Suite: TLS_DH_anon_WITH_AES_256_CBC_SHA256 (0x006d)         Cipher Suite: TLS_DH_anon_WITH_AES_256_CBC_SHA (0x003a)         Cipher Suite: TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA (0x0089)         Cipher Suite: TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 (0xc032)         Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 (0xc02e)         Cipher Suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 (0xc02a)         Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 (0xc026)         Cipher Suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA (0xc00f)         Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA (0xc005)         Cipher Suite: TLS_RSA_WITH_AES_256_GCM_SHA384 (0x009d)         Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA256 (0x003d)         Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)         Cipher Suite: TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (0x0084)         Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f)         Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b)         Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (0xc027)         Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 (0xc023)         Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)         Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)         Cipher Suite: TLS_DH_DSS_WITH_AES_128_GCM_SHA256 (0x00a4)         Cipher Suite: TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 (0x00a2)         Cipher Suite: TLS_DH_RSA_WITH_AES_128_GCM_SHA256 (0x00a0)         Cipher Suite: TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (0x009e)         Cipher Suite: TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (0x0067)         Cipher Suite: TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 (0x0040)         Cipher Suite: TLS_DH_RSA_WITH_AES_128_CBC_SHA256 (0x003f)         Cipher Suite: TLS_DH_DSS_WITH_AES_128_CBC_SHA256 (0x003e)         Cipher Suite: TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)         Cipher Suite: TLS_DHE_DSS_WITH_AES_128_CBC_SHA (0x0032)         Cipher Suite: TLS_DH_RSA_WITH_AES_128_CBC_SHA (0x0031)         Cipher Suite: TLS_DH_DSS_WITH_AES_128_CBC_SHA (0x0030)         Cipher Suite: TLS_DHE_RSA_WITH_SEED_CBC_SHA (0x009a)         Cipher Suite: TLS_DHE_DSS_WITH_SEED_CBC_SHA (0x0099)         Cipher Suite: TLS_DH_RSA_WITH_SEED_CBC_SHA (0x0098)         Cipher Suite: TLS_DH_DSS_WITH_SEED_CBC_SHA (0x0097)         Cipher Suite: TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (0x0045)         Cipher Suite: TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA (0x0044)         Cipher Suite: TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA (0x0043)         Cipher Suite: TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA (0x0042)         Cipher Suite: TLS_ECDH_anon_WITH_AES_128_CBC_SHA (0xc018)         Cipher Suite: TLS_DH_anon_WITH_AES_128_GCM_SHA256 (0x00a6)         Cipher Suite: TLS_DH_anon_WITH_AES_128_CBC_SHA256 (0x006c)         Cipher Suite: TLS_DH_anon_WITH_AES_128_CBC_SHA (0x0034)         Cipher Suite: TLS_DH_anon_WITH_SEED_CBC_SHA (0x009b)         Cipher Suite: TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA (0x0046)         Cipher Suite: TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 (0xc031)         Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02d)         Cipher Suite: TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 (0xc029)         Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 (0xc025)         Cipher Suite: TLS_ECDH_RSA_WITH_AES_128_CBC_SHA (0xc00e)         Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA (0xc004)         Cipher Suite: TLS_RSA_WITH_AES_128_GCM_SHA256 (0x009c)         Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA256 (0x003c)         Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)         Cipher Suite: TLS_RSA_WITH_SEED_CBC_SHA (0x0096)         Cipher Suite: TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (0x0041)         Cipher Suite: TLS_RSA_WITH_IDEA_CBC_SHA (0x0007)         Cipher Suite: TLS_ECDHE_RSA_WITH_RC4_128_SHA (0xc011)         Cipher Suite: TLS_ECDHE_ECDSA_WITH_RC4_128_SHA (0xc007)         Cipher Suite: TLS_ECDH_anon_WITH_RC4_128_SHA (0xc016)         Cipher Suite: TLS_DH_anon_WITH_RC4_128_MD5 (0x0018)         Cipher Suite: TLS_ECDH_RSA_WITH_RC4_128_SHA (0xc00c)         Cipher Suite: TLS_ECDH_ECDSA_WITH_RC4_128_SHA (0xc002)         Cipher Suite: TLS_RSA_WITH_RC4_128_SHA (0x0005)         Cipher Suite: TLS_RSA_WITH_RC4_128_MD5 (0x0004)         Cipher Suite: TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (0xc012)         Cipher Suite: TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA (0xc008)         Cipher Suite: TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x0016)         Cipher Suite: TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x0013)         Cipher Suite: TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA (0x0010)         Cipher Suite: TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA (0x000d)         Cipher Suite: TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA (0xc017)         Cipher Suite: TLS_DH_anon_WITH_3DES_EDE_CBC_SHA (0x001b)         Cipher Suite: TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA (0xc00d)         Cipher Suite: TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA (0xc003)         Cipher Suite: TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)         Cipher Suite: TLS_DHE_RSA_WITH_DES_CBC_SHA (0x0015)         Cipher Suite: TLS_DHE_DSS_WITH_DES_CBC_SHA (0x0012)         Cipher Suite: TLS_DH_RSA_WITH_DES_CBC_SHA (0x000f)         Cipher Suite: TLS_DH_DSS_WITH_DES_CBC_SHA (0x000c)         Cipher Suite: TLS_DH_anon_WITH_DES_CBC_SHA (0x001a)         Cipher Suite: TLS_RSA_WITH_DES_CBC_SHA (0x0009)         Cipher Suite: TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0014)         Cipher Suite: TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA (0x0011)         Cipher Suite: TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA (0x0019)         Cipher Suite: TLS_RSA_EXPORT_WITH_DES40_CBC_SHA (0x0008)         Cipher Suite: TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 (0x0006)         Cipher Suite: TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 (0x0017)         Cipher Suite: TLS_RSA_EXPORT_WITH_RC4_40_MD5 (0x0003)         Cipher Suite: TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)     Compression Methods Length: 1     Compression Methods (1 method)         Compression Method: null (0)     Extensions Length: 85     Extension: ec_point_formats (len=4)         Type: ec_point_formats (11)         Length: 4         EC point formats Length: 3         Elliptic curves point formats (3)             EC point format: uncompressed (0)             EC point format: ansiX962_compressed_prime (1)             EC point format: ansiX962_compressed_char2 (2)     Extension: supported_groups (len=28)         Type: supported_groups (10)         Length: 28         Supported Groups List Length: 26         Supported Groups (13 groups)             Supported Group: secp256r1 (0x0017)             Supported Group: secp521r1 (0x0019)             Supported Group: brainpoolP512r1 (0x001c)             Supported Group: brainpoolP384r1 (0x001b)             Supported Group: secp384r1 (0x0018)             Supported Group: brainpoolP256r1 (0x001a)             Supported Group: secp256k1 (0x0016)             Supported Group: sect571r1 (0x000e)             Supported Group: sect571k1 (0x000d)             Supported Group: sect409k1 (0x000b)             Supported Group: sect409r1 (0x000c)             Supported Group: sect283k1 (0x0009)             Supported Group: sect283r1 (0x000a)     Extension: session_ticket (len=0)         Type: session_ticket (35)         Length: 0         Data (0 bytes)     Extension: signature_algorithms (len=32)         Type: signature_algorithms (13)         Length: 32         Signature Hash Algorithms Length: 30         Signature Hash Algorithms (15 algorithms)             Signature Algorithm: rsa_pkcs1_sha512 (0x0601)                 Signature Hash Algorithm Hash: SHA512 (6)                 Signature Hash Algorithm Signature: RSA (1)             Signature Algorithm: SHA512 DSA (0x0602)                 Signature Hash Algorithm Hash: SHA512 (6)                 Signature Hash Algorithm Signature: DSA (2)             Signature Algorithm: ecdsa_secp521r1_sha512 (0x0603)                 Signature Hash Algorithm Hash: SHA512 (6)                 Signature Hash Algorithm Signature: ECDSA (3)             Signature Algorithm: rsa_pkcs1_sha384 (0x0501)                 Signature Hash Algorithm Hash: SHA384 (5)                 Signature Hash Algorithm Signature: RSA (1)             Signature Algorithm: SHA384 DSA (0x0502)                 Signature Hash Algorithm Hash: SHA384 (5)                 Signature Hash Algorithm Signature: DSA (2)             Signature Algorithm: ecdsa_secp384r1_sha384 (0x0503)                 Signature Hash Algorithm Hash: SHA384 (5)                 Signature Hash Algorithm Signature: ECDSA (3)             Signature Algorithm: rsa_pkcs1_sha256 (0x0401)                 Signature Hash Algorithm Hash: SHA256 (4)                 Signature Hash Algorithm Signature: RSA (1)             Signature Algorithm: SHA256 DSA (0x0402)                 Signature Hash Algorithm Hash: SHA256 (4)                 Signature Hash Algorithm Signature: DSA (2)             Signature Algorithm: ecdsa_secp256r1_sha256 (0x0403)                 Signature Hash Algorithm Hash: SHA256 (4)                 Signature Hash Algorithm Signature: ECDSA (3)             Signature Algorithm: SHA224 RSA (0x0301)                 Signature Hash Algorithm Hash: SHA224 (3)                 Signature Hash Algorithm Signature: RSA (1)             Signature Algorithm: SHA224 DSA (0x0302)                 Signature Hash Algorithm Hash: SHA224 (3)                 Signature Hash Algorithm Signature: DSA (2)             Signature Algorithm: SHA224 ECDSA (0x0303)                 Signature Hash Algorithm Hash: SHA224 (3)                 Signature Hash Algorithm Signature: ECDSA (3)             Signature Algorithm: rsa_pkcs1_sha1 (0x0201)                 Signature Hash Algorithm Hash: SHA1 (2)                 Signature Hash Algorithm Signature: RSA (1)             Signature Algorithm: SHA1 DSA (0x0202)                 Signature Hash Algorithm Hash: SHA1 (2)                 Signature Hash Algorithm Signature: DSA (2)             Signature Algorithm: ecdsa_sha1 (0x0203)                 Signature Hash Algorithm Hash: SHA1 (2)                 Signature Hash Algorithm Signature: ECDSA (3)     Extension: heartbeat (len=1)         Type: heartbeat (15)         Length: 1         Mode: Peer allowed to send requests (1) 

When this issue occurs (ie. SSL_do_handshake() fails) SSL_get_error returns SSL_ERROR_SYSCALL, but ERR_get_error() returns 0. We are calling these two methods immediately after SSL_do_handshake().

Appreciate your assistance as this is going for some time.