Ну на конец-то

Наконец-то собрались исходники Qt 4.8.1 и openssl 1.0.2u. И заработала отладка... И мы смогли разобраться как использовать TLSv1.2 под Qt 4.8.1.

Сначала Подключаем openssl напрямую.

Изменяем файл qsslsocket_openssl.cpp так , чтобы он понимал , что в мире уже есть версия TLS 1.2 (//-- убрали, //++ добавили):

    switch (configuration.protocol) {
    case QSsl::SslV2:
#ifndef OPENSSL_NO_SSL2
        ctx = SSL_CTX_new(client ? SSLv2_client_method() : SSLv2_server_method());
#else
        ctx = 0; // SSL 2 not supported by the system, but chosen deliberately -> error
#endif
        break;
    case QSsl::SslV3:

#ifndef OPENSSL_NO_SSL3 //++
        ctx = SSL_CTX_new(client ? SSLv3_client_method() : SSLv3_server_method());
#else
        ctx = 0; // SSL 3 not supported by the system, but chosen deliberately -> error
#endif
        break;

    case QSsl::SecureProtocols: // SslV2 will be disabled below
    case QSsl::TlsV1SslV3: // SslV2 will be disabled below
    case QSsl::AnyProtocol:
    default:
        //--ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
        //--ctx = SSL_CTX_new(client ? SSLv23_client_method() : SSLv23_server_method());
        ctx = SSL_CTX_new(client ? TLSv1_2_client_method() : TLSv1_2_server_method());
        break; //++

    case QSsl::TlsV1:
        ctx = SSL_CTX_new(client ? TLSv1_client_method() : TLSv1_server_method());
        break;
    }

И еще здесь можно указать, чтобы QtNetwork не использовала SSLv2 и SSLv3. Но на самом деле главный вопрос еще остается - как сама openssl была собрана, ведь там тоже есть дефайны типа:

   // Enable bug workarounds.
    long options;
    if (configuration.protocol == QSsl::TlsV1SslV3 || configuration.protocol == QSsl::SecureProtocols)
        options = SSL_OP_ALL|SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3;// | SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1;
    else
        options = SSL_OP_ALL;

Добавьте в код исходников вывод версии openssl:

    qDebug() << "SSLeay_version : " << SSLeay_version(SSLEAY_VERSION);
    qDebug() << "SSLEAY_CFLAGS : " << SSLeay_version(SSLEAY_CFLAGS);
    qDebug() << "SSLEAY_BUILT_ON : " << SSLeay_version(SSLEAY_BUILT_ON);
    qDebug() << "SSLEAY_PLATFORM : " << SSLeay_version(SSLEAY_PLATFORM);
    qDebug() << "SSLEAY_DIR : " << SSLeay_version(SSLEAY_DIR);

Вывод у нас правильный :

SSLeay_version :  OpenSSL 1.0.2u  20 Dec 2019 
SSLEAY_CFLAGS :  compiler: cl -DTLS_DEBUG -DCIPHER_DEBUG -DALG_DEBUG -DKSSL_DEBUG  /MDd /Od -DDEBUG -D_DEBUG -DOPENSSL_THREADS  -DDSO_WIN32 -DTLS_DEBUG -DCIPHER_DEBUG -DALG_DEBUG -DKSSL_DEBUG -W3 -WX -Gs0 -GF -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS -DOPENSSL_USE_APPLINK -I. -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_SSL2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_WEAK_SSL_CIPHERS -DOPENSSL_NO_STATIC_ENGINE     
SSLEAY_BUILT_ON :  built on: reproducible build, date unspecified 
SSLEAY_PLATFORM :  VC-WIN32 
SSLEAY_DIR :  OPENSSLDIR: "d:\OpenSSL\1_0_2_dll/ssl"

Это означает ,что мы подгружаем свою ssleay32.dll , а не из каталога C:\Windows\SysWOW64 (или еще откуда-нибудь). Это видно как минимум по версии.

Может случится еще такой затык в отладке , что stdout из openssl (при TLS_DEBUG) не будет выводится при отладке под QT Creator.

Тогда проверьте : надо включить Настройка запуска = Запускать в терминале!
Также надо проверить CONFIG += console.

И тогда мы получим уже хороший лог и сможем разобраться почему у нас в итоге вылетает : FR::sslErrors : "The certificate has expired"

Name: SRP-AES-128-CBC-SHA:
Algo = 00000400/00000400/00000040/00000002/00000002 Algo_strength = 00000081

Name: DH-DSS-AES128-GCM-SHA256:
Algo = 00000004/00000008/00001000/00000040/00000004 Algo_strength = 00000181

.......

Name: ECDH-RSA-DES-CBC3-SHA:
Algo = 00000020/00000010/00000002/00000002/00000002 Algo_strength = 00000141

Name: ECDH-ECDSA-DES-CBC3-SHA:
Algo = 00000040/00000010/00000002/00000002/00000002 Algo_strength = 00000141

Name: DES-CBC3-SHA:
Algo = 00000001/00000001/00000002/00000002/00000002 Algo_strength = 00000141


<ECDHE-RSA-AES256-GCM-SHA384>
<ECDHE-ECDSA-AES256-GCM-SHA384>
<ECDHE-RSA-AES256-SHA384>
<ECDHE-ECDSA-AES256-SHA384>
<ECDHE-RSA-AES256-SHA>
<ECDHE-ECDSA-AES256-SHA>
<SRP-DSS-AES-256-CBC-SHA>
<SRP-RSA-AES-256-CBC-SHA>
<SRP-AES-256-CBC-SHA>
<DH-DSS-AES256-GCM-SHA384>
<DHE-DSS-AES256-GCM-SHA384>
<DH-RSA-AES256-GCM-SHA384>
<DHE-RSA-AES256-GCM-SHA384>
<DHE-RSA-AES256-SHA256>
<DHE-DSS-AES256-SHA256>
<DH-RSA-AES256-SHA256>
<DH-DSS-AES256-SHA256>
<DHE-RSA-AES256-SHA>
<DHE-DSS-AES256-SHA>
<DH-RSA-AES256-SHA>
<DH-DSS-AES256-SHA>
<DHE-RSA-CAMELLIA256-SHA>
<DHE-DSS-CAMELLIA256-SHA>
<DH-RSA-CAMELLIA256-SHA>
<DH-DSS-CAMELLIA256-SHA>
<ECDH-RSA-AES256-GCM-SHA384>
<ECDH-ECDSA-AES256-GCM-SHA384>
<ECDH-RSA-AES256-SHA384>
<ECDH-ECDSA-AES256-SHA384>
<ECDH-RSA-AES256-SHA>
<ECDH-ECDSA-AES256-SHA>
<AES256-GCM-SHA384>
<AES256-SHA256>
<AES256-SHA>
<CAMELLIA256-SHA>
<PSK-AES256-CBC-SHA>
<ECDHE-RSA-AES128-GCM-SHA256>
<ECDHE-ECDSA-AES128-GCM-SHA256>
<ECDHE-RSA-AES128-SHA256>
<ECDHE-ECDSA-AES128-SHA256>
<ECDHE-RSA-AES128-SHA>
<ECDHE-ECDSA-AES128-SHA>
<SRP-DSS-AES-128-CBC-SHA>
<SRP-RSA-AES-128-CBC-SHA>
<SRP-AES-128-CBC-SHA>
<DH-DSS-AES128-GCM-SHA256>
<DHE-DSS-AES128-GCM-SHA256>
<DH-RSA-AES128-GCM-SHA256>
<DHE-RSA-AES128-GCM-SHA256>
<DHE-RSA-AES128-SHA256>
<DHE-DSS-AES128-SHA256>
<DH-RSA-AES128-SHA256>
<DH-DSS-AES128-SHA256>
<DHE-RSA-AES128-SHA>
<DHE-DSS-AES128-SHA>
<DH-RSA-AES128-SHA>
<DH-DSS-AES128-SHA>
<DHE-RSA-SEED-SHA>
<DHE-DSS-SEED-SHA>
<DH-RSA-SEED-SHA>
<DH-DSS-SEED-SHA>
<DHE-RSA-CAMELLIA128-SHA>
<DHE-DSS-CAMELLIA128-SHA>
<DH-RSA-CAMELLIA128-SHA>
<DH-DSS-CAMELLIA128-SHA>
<ECDH-RSA-AES128-GCM-SHA256>
<ECDH-ECDSA-AES128-GCM-SHA256>
<ECDH-RSA-AES128-SHA256>
<ECDH-ECDSA-AES128-SHA256>
<ECDH-RSA-AES128-SHA>
<ECDH-ECDSA-AES128-SHA>
<AES128-GCM-SHA256>
<AES128-SHA256>
<AES128-SHA>
<SEED-SHA>
<CAMELLIA128-SHA>
<IDEA-CBC-SHA>
<PSK-AES128-CBC-SHA>
<ECDHE-RSA-RC4-SHA>
<ECDHE-ECDSA-RC4-SHA>
<ECDH-RSA-RC4-SHA>
<ECDH-ECDSA-RC4-SHA>
<RC4-SHA>
<RC4-MD5>
<PSK-RC4-SHA>
<ECDHE-RSA-DES-CBC3-SHA>
<ECDHE-ECDSA-DES-CBC3-SHA>
<SRP-DSS-3DES-EDE-CBC-SHA>
<SRP-RSA-3DES-EDE-CBC-SHA>
<SRP-3DES-EDE-CBC-SHA>
<EDH-RSA-DES-CBC3-SHA>
<EDH-DSS-DES-CBC3-SHA>
<DH-RSA-DES-CBC3-SHA>
<DH-DSS-DES-CBC3-SHA>
<ECDH-RSA-DES-CBC3-SHA>
<ECDH-ECDSA-DES-CBC3-SHA>
<DES-CBC3-SHA>
<PSK-3DES-EDE-CBC-SHA>
tls1_enc(1)
QSslSocketBackendPrivate::transmit: wrote 517 encrypted bytes to the socket 517 actual.
QSslSocketBackendPrivate::transmit: testing encryption
QSslSocketBackendPrivate::transmit: encryption not done yet
QSslSocketBackendPrivate::transmit: testing encryption
QSslSocketBackendPrivate::transmit: encryption not done yet
QSslSocket::_q_bytesWrittenSlot( 517 )
QSslSocket::_q_readyReadSlot() - 1360 bytes available
QSslSocketBackendPrivate::transmit: read 1360 encrypted bytes from the socket
QSslSocketBackendPrivate::transmit: testing encryption
tls1_enc(0)
dec 65
02 00 00 3D 03 03 FD EF 71 2E 7C F1 57 4F B2 2E
9B 1A F8 8D A7 4A CB 17 A3 0E BA 8C 64 92 44 4F
57 4E 47 52 44 01 00 C0 30 00 00 15 FF 01 00 01
00 00 00 00 00 00 0B 00 04 03 00 01 02 00 23 00
00
QSslSocketBackendPrivate::transmit: encryption not done yet
QSslSocketBackendPrivate::transmit: testing encryption
QSslSocketBackendPrivate::transmit: encryption not done yet
QSslSocket::_q_readyReadSlot() - 3088 bytes available
QSslSocketBackendPrivate::transmit: read 3088 encrypted bytes from the socket
QSslSocketBackendPrivate::transmit: testing encryption
tls1_enc(0)
dec 4026
0B 00 0F B6 00 0F B3 00 05 2C 30 82 05 28 30 82
04 10 A0 03 02 01 02 02 12 03 F3 A3 FC 22 C2 C6
3B A6 2B AD D3 73 9E FB 86 6D FE 30 0D 06 09 2A
86 48 86 F7 0D 01 01 0B 05 00 30 32 31 0B 30 09
06 03 55 04 06 13 02 55 53 31 16 30 14 06 03 55
04 0A 13 0D 4C 65 74 27 73 20 45 6E 63 72 79 70
74 31 0B 30 09 06 03 55 04 03 13 02 52 33 30 1E
17 0D 32 32 30 33 33 30 31 34 33 31 30 35 5A 17
0D 32 32 30 36 32 38 31 34 33 31 30 34 5A 30 14
31 12 30 10 06 03 55 04 03 13 09 6B 6B 6D 73 70
62 2E 72 75 30 82 01 22 30 0D 06 09 2A 86 48 86
F7 0D 01 01 01 05 00 03 82 01 0F 00 30 82 01 0A
02 82 01 01 00 F0 5D 85 3B AB CE 6A 4F 83 7F DB
E6 45 1C 51 73 56 97 78 55 4E 3F 71 99 46 5C 28
43 7A 38 22 8E 2A 82 3E 90 A5 6E 62 D7 D8 3A 63
2B C5 DE 63 8F EF 7D 8D 3F B2 77 C4 99 FE 32 7E
6A 7D 9F 63 E9 F1 E4 0B 58 08 A3 16 68 3E 26 E8
D0 B2 5A E1 EA B1 BE 68 99 75 ED 1D 6D 16 CE FC
06 93 68 34 00 8E D8 F9 66 61 66 08 87 C7 E9 B8
FB B4 14 88 64 40 DC 95 F9 52 AD A3 F7 EC E7 EA
CE 89 C4 5A B3 7B DC 11 2D BD AB 20 F4 7D 39 C7
2B B2 14 35 D5 A7 6A 17 E8 FC 8C ED 40 2E 92 7E
93 64 20 C9 D2 C8 D4 43 74 FE 59 DB 74 5E 99 74
3A 1E 84 65 09 55 B8 7D F3 91 B0 86 09 83 EF 56
D1 6A 0E 53 A3 58 71 C8 D8 3C 23 6F 67 20 38 F7
DA F8 03 6C 7B 63 13 07 E9 69 0D 05 ED BE 02 BB
2F B4 D7 C1 62 91 D7 1B FC DF 63 71 41 56 52 13
CD 28 C8 C7 43 A2 BE 52 A4 DC 00 3C 5C 0D B2 2D
68 BB 48 9D BD 02 03 01 00 01 A3 82 02 54 30 82
02 50 30 0E 06 03 55 1D 0F 01 01 FF 04 04 03 02
05 A0 30 1D 06 03 55 1D 25 04 16 30 14 06 08 2B
06 01 05 05 07 03 01 06 08 2B 06 01 05 05 07 03
02 30 0C 06 03 55 1D 13 01 01 FF 04 02 30 00 30
1D 06 03 55 1D 0E 04 16 04 14 28 95 79 38 DD 26
FF F1 02 C5 B3 A4 4B D9 D2 1C A9 68 FF F2 30 1F
06 03 55 1D 23 04 18 30 16 80 14 14 2E B3 17 B7
58 56 CB AE 50 09 40 E6 1F AF 9D 8B 14 C2 C6 30
55 06 08 2B 06 01 05 05 07 01 01 04 49 30 47 30
21 06 08 2B 06 01 05 05 07 30 01 86 15 68 74 74
70 3A 2F 2F 72 33 2E 6F 2E 6C 65 6E 63 72 2E 6F
72 67 30 22 06 08 2B 06 01 05 05 07 30 02 86 16
68 74 74 70 3A 2F 2F 72 33 2E 69 2E 6C 65 6E 63
72 2E 6F 72 67 2F 30 23 06 03 55 1D 11 04 1C 30
1A 82 09 6B 6B 6D 73 70 62 2E 72 75 82 0D 77 77
77 2E 6B 6B 6D 73 70 62 2E 72 75 30 4C 06 03 55
1D 20 04 45 30 43 30 08 06 06 67 81 0C 01 02 01
30 37 06 0B 2B 06 01 04 01 82 DF 13 01 01 01 30
28 30 26 06 08 2B 06 01 05 05 07 02 01 16 1A 68
74 74 70 3A 2F 2F 63 70 73 2E 6C 65 74 73 65 6E
63 72 79 70 74 2E 6F 72 67 30 82 01 05 06 0A 2B
06 01 04 01 D6 79 02 04 02 04 81 F6 04 81 F3 00
F1 00 77 00 29 79 BE F0 9E 39 39 21 F0 56 73 9F
63 A5 77 E5 BE 57 7D 9C 60 0A F8 F9 4D 5D 26 5C
25 5D C7 84 00 00 01 7F DB 73 AD 9D 00 00 04 03
00 48 30 46 02 21 00 EE 80 52 BA 66 18 D5 66 CD
3E 2C 2B C3 67 C7 BE 70 11 2E 83 A9 25 70 56 EA
AA 4B 63 73 DF A9 C8 02 21 00 C8 A5 DE 59 91 02
91 68 A8 03 78 0A F8 F9 B5 42 AA 38 7D 47 19 A3
9E E0 1A 3E D7 51 BA 03 5A ED 00 76 00 6F 53 76
AC 31 F0 31 19 D8 99 00 A4 51 15 FF 77 15 1C 11
D9 02 C1 00 29 06 8D B2 08 9A 37 D9 13 00 00 01
7F DB 73 AE 5D 00 00 04 03 00 47 30 45 02 20 01
1A 8A 2C CC 5E FD B6 67 8F F1 B0 7B 6C 62 7C 70
EA 43 AA EA D4 A5 E7 CC 4F 6C A8 4E 79 9F 84 02
21 00 9A EA D8 E5 54 E0 53 75 F3 B5 00 45 3D 87
63 3B 5C 0F 46 0D B1 4D 1A 8D 5F 6B 4F 92 E3 29
A0 B9 30 0D 06 09 2A 86 48 86 F7 0D 01 01 0B 05
00 03 82 01 01 00 5D 23 48 6B CD 46 B0 39 7D 4E
22 4F A7 3C F1 63 91 0A D4 F8 11 4B 78 9C AF B7
A7 B0 1D A7 9F E7 57 8A BD 4F 9D C0 ED 4D D1 91
96 A1 63 83 F8 8E EB 2A 91 E7 1C 0B 0A 23 6D 75
08 C6 CA 2B 18 FD 48 E9 EC C7 A5 73 38 4E 28 9A
DC AD EF F9 E3 35 02 7C 8C 69 B0 77 20 02 4C 6A
DA A1 B9 CF F3 FD 95 A4 5A 03 4D 43 3E E2 FA 92
C7 77 E8 DA 5E B6 12 80 28 14 F0 44 C5 C9 D9 37
06 D2 E9 51 B3 25 F1 F1 BF 72 E7 E7 BC 5E C8 3B
04 BA 76 E1 13 E6 0D 5D ED 49 13 32 84 E0 07 A1
A1 2B 91 B7 A0 3C 72 7A 01 AA 96 81 6C 2E 33 5D
1A 1B C6 92 5D 4A E0 06 E3 28 15 BB 47 18 C6 46
E5 C6 B4 58 50 32 36 6B D8 26 72 89 50 4A C7 D3
7E A8 FD 0D 82 B9 92 D8 5E B3 30 DB 80 0B 1D 94
3C 31 F1 84 5D 1F 85 36 AF B2 9F 4E F2 F7 24 1C
F7 9E AE 75 3F CC 35 27 24 6E BA 8E 87 4C 33 6C
24 14 2A AD 9A 5B 00 05 1A 30 82 05 16 30 82 02
FE A0 03 02 01 02 02 11 00 91 2B 08 4A CF 0C 18
A7 53 F6 D6 2E 25 A7 5F 5A 30 0D 06 09 2A 86 48
86 F7 0D 01 01 0B 05 00 30 4F 31 0B 30 09 06 03
55 04 06 13 02 55 53 31 29 30 27 06 03 55 04 0A
13 20 49 6E 74 65 72 6E 65 74 20 53 65 63 75 72
69 74 79 20 52 65 73 65 61 72 63 68 20 47 72 6F
75 70 31 15 30 13 06 03 55 04 03 13 0C 49 53 52
47 20 52 6F 6F 74 20 58 31 30 1E 17 0D 32 30 30
39 30 34 30 30 30 30 30 30 5A 17 0D 32 35 30 39
31 35 31 36 30 30 30 30 5A 30 32 31 0B 30 09 06
03 55 04 06 13 02 55 53 31 16 30 14 06 03 55 04
0A 13 0D 4C 65 74 27 73 20 45 6E 63 72 79 70 74
31 0B 30 09 06 03 55 04 03 13 02 52 33 30 82 01
22 30 0D 06 09 2A 86 48 86 F7 0D 01 01 01 05 00
03 82 01 0F 00 30 82 01 0A 02 82 01 01 00 BB 02
15 28 CC F6 A0 94 D3 0F 12 EC 8D 55 92 C3 F8 82
F1 99 A6 7A 42 88 A7 5D 26 AA B5 2B B9 C5 4C B1
AF 8E 6B F9 75 C8 A3 D7 0F 47 94 14 55 35 57 8C
9E A8 A2 39 19 F5 82 3C 42 A9 4E 6E F5 3B C3 2E
DB 8D C0 B0 5C F3 59 38 E7 ED CF 69 F0 5A 0B 1B
BE C0 94 24 25 87 FA 37 71 B3 13 E7 1C AC E1 9B
EF DB E4 3B 45 52 45 96 A9 C1 53 CE 34 C8 52 EE
B5 AE ED 8F DE 60 70 E2 A5 54 AB B6 6D 0E 97 A5
40 34 6B 2B D3 BC 66 EB 66 34 7C FA 6B 8B 8F 57
29 99 F8 30 17 5D BA 72 6F FB 81 C5 AD D2 86 58
3D 17 C7 E7 09 BB F1 2B F7 86 DC C1 DA 71 5D D4
46 E3 CC AD 25 C1 88 BC 60 67 75 66 B3 F1 18 F7
A2 5C E6 53 FF 3A 88 B6 47 A5 FF 13 18 EA 98 09
77 3F 9D 53 F9 CF 01 E5 F5 A6 70 17 14 AF 63 A4
FF 99 B3 93 9D DC 53 A7 06 FE 48 85 1D A1 69 AE
25 75 BB 13 CC 52 03 F5 ED 51 A1 8B DB 15 02 03
01 00 01 A3 82 01 08 30 82 01 04 30 0E 06 03 55
1D 0F 01 01 FF 04 04 03 02 01 86 30 1D 06 03 55
1D 25 04 16 30 14 06 08 2B 06 01 05 05 07 03 02
06 08 2B 06 01 05 05 07 03 01 30 12 06 03 55 1D
13 01 01 FF 04 08 30 06 01 01 FF 02 01 00 30 1D
06 03 55 1D 0E 04 16 04 14 14 2E B3 17 B7 58 56
CB AE 50 09 40 E6 1F AF 9D 8B 14 C2 C6 30 1F 06
03 55 1D 23 04 18 30 16 80 14 79 B4 59 E6 7B B6
E5 E4 01 73 80 08 88 C8 1A 58 F6 E9 9B 6E 30 32
06 08 2B 06 01 05 05 07 01 01 04 26 30 24 30 22
06 08 2B 06 01 05 05 07 30 02 86 16 68 74 74 70
3A 2F 2F 78 31 2E 69 2E 6C 65 6E 63 72 2E 6F 72
67 2F 30 27 06 03 55 1D 1F 04 20 30 1E 30 1C A0
1A A0 18 86 16 68 74 74 70 3A 2F 2F 78 31 2E 63
2E 6C 65 6E 63 72 2E 6F 72 67 2F 30 22 06 03 55
1D 20 04 1B 30 19 30 08 06 06 67 81 0C 01 02 01
30 0D 06 0B 2B 06 01 04 01 82 DF 13 01 01 01 30
0D 06 09 2A 86 48 86 F7 0D 01 01 0B 05 00 03 82
02 01 00 85 CA 4E 47 3E A3 F7 85 44 85 BC D5 67
78 B2 98 63 AD 75 4D 1E 96 3D 33 65 72 54 2D 81
A0 EA C3 ED F8 20 BF 5F CC B7 70 00 B7 6E 3B F6
5E 94 DE E4 20 9F A6 EF 8B B2 03 E7 A2 B5 16 3C
91 CE B4 ED 39 02 E7 7C 25 8A 47 E6 65 6E 3F 46
F4 D9 F0 CE 94 2B EE 54 CE 12 BC 8C 27 4B B8 C1
98 2F A2 AF CD 71 91 4A 08 B7 C8 B8 23 7B 04 2D
08 F9 08 57 3E 83 D9 04 33 0A 47 21 78 09 82 27
C3 2A C8 9B B9 CE 5C F2 64 C8 C0 BE 79 C0 4F 8E
6D 44 0C 5E 92 BB 2E F7 8B 10 E1 E8 1D 44 29 DB
59 20 ED 63 B9 21 F8 12 26 94 93 57 A0 1D 65 04
C1 0A 22 AE 10 0D 43 97 A1 18 1F 7E E0 E0 86 37
B5 5A B1 BD 30 BF 87 6E 2B 2A FF 21 4E 1B 05 C3
F5 18 97 F0 5E AC C3 A5 B8 6A F0 2E BC 3B 33 B9
EE 4B DE CC FC E4 AF 84 0B 86 3F C0 55 43 36 F6
68 E1 36 17 6A 8E 99 D1 FF A5 40 A7 34 B7 C0 D0
63 39 35 39 75 6E F2 BA 76 C8 93 02 E9 A9 4B 6C
17 CE 0C 02 D9 BD 81 FB 9F B7 68 D4 06 65 B3 82
3D 77 53 F8 8E 79 03 AD 0A 31 07 75 2A 43 D8 55
97 72 C4 29 0E F7 C4 5D 4E C8 AE 46 84 30 D7 F2
85 5F 18 A1 79 BB E7 5E 70 8B 07 E1 86 93 C3 B9
8F DC 61 71 25 2A AF DF ED 25 50 52 68 8B 92 DC
E5 D6 B5 E3 DA 7D D0 87 6C 84 21 31 AE 82 F5 FB
B9 AB C8 89 17 3D E1 4C E5 38 0E F6 BD 2B BD 96
81 14 EB D5 DB 3D 20 A7 7E 59 D3 E2 F8 58 F9 5B
B8 48 CD FE 5C 4F 16 29 FE 1E 55 23 AF C8 11 B0
8D EA 7C 93 90 17 2F FD AC A2 09 47 46 3F F0 E9
B0 B7 FF 28 4D 68 32 D6 67 5E 1E 69 A3 93 B8 F5
9D 8B 2F 0B D2 52 43 A6 6F 32 57 65 4D 32 81 DF
38 53 85 5D 7E 5D 66 29 EA B8 DD E4 95 B5 CD B5
56 12 42 CD C4 4E C6 25 38 44 50 6D EC CE 00 55
18 FE E9 49 64 D4 4E CA 97 9C B4 5B C0 73 A8 AB
B8 47 C2 00 05 64 30 82 05 60 30 82 04 48 A0 03
02 01 02 02 10 40 01 77 21 37 D4 E9 42 B8 EE 76
AA 3C 64 0A B7 30 0D 06 09 2A 86 48 86 F7 0D 01
01 0B 05 00 30 3F 31 24 30 22 06 03 55 04 0A 13
1B 44 69 67 69 74 61 6C 20 53 69 67 6E 61 74 75
72 65 20 54 72 75 73 74 20 43 6F 2E 31 17 30 15
06 03 55 04 03 13 0E 44 53 54 20 52 6F 6F 74 20
43 41 20 58 33 30 1E 17 0D 32 31 30 31 32 30 31
39 31 34 30 33 5A 17 0D 32 34 30 39 33 30 31 38
31 34 30 33 5A 30 4F 31 0B 30 09 06 03 55 04 06
13 02 55 53 31 29 30 27 06 03 55 04 0A 13 20 49
6E 74 65 72 6E 65 74 20 53 65 63 75 72 69 74 79
20 52 65 73 65 61 72 63 68 20 47 72 6F 75 70 31
15 30 13 06 03 55 04 03 13 0C 49 53 52 47 20 52
6F 6F 74 20 58 31 30 82 02 22 30 0D 06 09 2A 86
48 86 F7 0D 01 01 01 05 00 03 82 02 0F 00 30 82
02 0A 02 82 02 01 00 AD E8 24 73 F4 14 37 F3 9B
9E 2B 57 28 1C 87 BE DC B7 DF 38 90 8C 6E 3C E6
57 A0 78 F7 75 C2 A2 FE F5 6A 6E F6 00 4F 28 DB
DE 68 86 6C 44 93 B6 B1 63 FD 14 12 6B BF 1F D2
EA 31 9B 21 7E D1 33 3C BA 48 F5 DD 79 DF B3 B8
FF 12 F1 21 9A 4B C1 8A 86 71 69 4A 66 66 6C 8F
7E 3C 70 BF AD 29 22 06 F3 E4 C0 E6 80 AE E2 4B
8F B7 99 7E 94 03 9F D3 47 97 7C 99 48 23 53 E8
38 AE 4F 0A 6F 83 2E D1 49 57 8C 80 74 B6 DA 2F
D0 38 8D 7B 03 70 21 1B 75 F2 30 3C FA 8F AE DD
DA 63 AB EB 16 4F C2 8E 11 4B 7E CF 0B E8 FF B5
77 2E F4 B2 7B 4A E0 4C 12 25 0C 70 8D 03 29 A0
E1 53 24 EC 13 D9 EE 19 BF 10 B3 4A 8C 3F 89 A3
61 51 DE AC 87 07 94 F4 63 71 EC 2E E2 6F 5B 98
81 E1 89 5C 34 79 6C 76 EF 3B 90 62 79 E6 DB A4
9A 2F 26 C5 D0 10 E1 0E DE D9 10 8E 16 FB B7 F7
A8 F7 C7 E5 02 07 98 8F 36 08 95 E7 E2 37 96 0D
36 75 9E FB 0E 72 B1 1D 9B BC 03 F9 49 05 D8 81
DD 05 B4 2A D6 41 E9 AC 01 76 95 0A 0F D8 DF D5
BD 12 1F 35 2F 28 17 6C D2 98 C1 A8 09 64 77 6E
47 37 BA CE AC 59 5E 68 9D 7F 72 D6 89 C5 06 41
29 3E 59 3E DD 26 F5 24 C9 11 A7 5A A3 4C 40 1F
46 A1 99 B5 A7 3A 51 6E 86 3B 9E 7D 72 A7 12 05
78 59 ED 3E 51 78 15 0B 03 8F 8D D0 2F 05 B2 3E
7B 4A 1C 4B 73 05 12 FC C6 EA E0 50 13 7C 43 93
74 B3 CA 74 E7 8E 1F 01 08 D0 30 D4 5B 71 36 B4
07 BA C1 30 30 5C 48 B7 82 3B 98 A6 7D 60 8A A2
A3 29 82 CC BA BD 83 04 1B A2 83 03 41 A1 D6 05
F1 1B C2 B6 F0 A8 7C 86 3B 46 A8 48 2A 88 DC 76
9A 76 BF 1F 6A A5 3D 19 8F EB 38 F3 64 DE C8 2B
0D 0A 28 FF F7 DB E2 15 42 D4 22 D0 27 5D E1 79
FE 18 E7 70 88 AD 4E E6 D9 8B 3A C6 DD 27 51 6E
FF BC 64 F5 33 43 4F 02 03 01 00 01 A3 82 01 46
30 82 01 42 30 0F 06 03 55 1D 13 01 01 FF 04 05
30 03 01 01 FF 30 0E 06 03 55 1D 0F 01 01 FF 04
04 03 02 01 06 30 4B 06 08 2B 06 01 05 05 07 01
01 04 3F 30 3D 30 3B 06 08 2B 06 01 05 05 07 30
02 86 2F 68 74 74 70 3A 2F 2F 61 70 70 73 2E 69
64 65 6E 74 72 75 73 74 2E 63 6F 6D 2F 72 6F 6F
74 73 2F 64 73 74 72 6F 6F 74 63 61 78 33 2E 70
37 63 30 1F 06 03 55 1D 23 04 18 30 16 80 14 C4
A7 B1 A4 7B 2C 71 FA DB E1 4B 90 75 FF C4 15 60
85 89 10 30 54 06 03 55 1D 20 04 4D 30 4B 30 08
06 06 67 81 0C 01 02 01 30 3F 06 0B 2B 06 01 04
01 82 DF 13 01 01 01 30 30 30 2E 06 08 2B 06 01
05 05 07 02 01 16 22 68 74 74 70 3A 2F 2F 63 70
73 2E 72 6F 6F 74 2D 78 31 2E 6C 65 74 73 65 6E
63 72 79 70 74 2E 6F 72 67 30 3C 06 03 55 1D 1F
04 35 30 33 30 31 A0 2F A0 2D 86 2B 68 74 74 70
3A 2F 2F 63 72 6C 2E 69 64 65 6E 74 72 75 73 74
2E 63 6F 6D 2F 44 53 54 52 4F 4F 54 43 41 58 33
43 52 4C 2E 63 72 6C 30 1D 06 03 55 1D 0E 04 16
04 14 79 B4 59 E6 7B B6 E5 E4 01 73 80 08 88 C8
1A 58 F6 E9 9B 6E 30 0D 06 09 2A 86 48 86 F7 0D
01 01 0B 05 00 03 82 01 01 00 0A 73 00 6C 96 6E
FF 0E 52 D0 AE DD 8C E7 5A 06 AD 2F A8 E3 8F BF
C9 0A 03 15 50 C2 E5 6C 42 BB 6F 9B F4 B4 4F C2
44 88 08 75 CC EB 07 9B 14 62 6E 78 DE EC 27 BA
39 5C F5 A2 A1 6E 56 94 70 10 53 B1 BB E4 AF D0
A2 C3 2B 01 D4 96 F4 C5 20 35 33 F9 D8 61 36 E0
71 8D B4 B8 B5 AA 82 45 95 C0 F2 A9 23 28 E7 D6
A1 CB 67 08 DA A0 43 2C AA 1B 93 1F C9 DE F5 AB
69 5D 13 F5 5B 86 58 22 CA 4D 55 E4 70 67 6D C2
57 C5 46 39 41 CF 8A 58 83 58 6D 99 FE 57 E8 36
0E F0 0E 23 AA FD 88 97 D0 E3 5C 0E 94 49 B5 B5
17 35 D2 2E BF 4E 85 EF 18 E0 85 92 EB 06 3B 6C
29 23 09 60 DC 45 02 4C 12 18 3B E9 FB 0E DE DC
44 F8 58 98 AE EA BD 45 45 A1 88 5D 66 CA FE 10
E9 6F 82 C8 11 42 0D FB E9 EC E3 86 00 DE 9D 10
E3 38 FA A4 7D B1 D8 E8 49 82 84 06 9B 2B E8 6B
4F 01 0C 38 77 2E F9 DD E7 39
pkey,x = 03D9DD18, 03D62338
ssl_cert_type(x,pkey) = 0
cipher, alg, nc = ECDHE-RSA-AES256-GCM-SHA384, 80, 1, 1
tls1_enc(0)
dec 333
0C 00 01 49 03 00 17 41 04 1B 5E 26 6F 5F 09 B4
AD E0 72 96 2A 56 8A FA 95 71 37 54 CC 7A 6E 8D
23 73 16 79 83 D8 D9 7E 1A 6F 5A 74 E5 9C 79 BC
B4 E1 23 BF 3D 41 58 8D 1A 27 18 5D 2C 3C FE 97
FA 21 8E 83 89 26 19 45 C6 04 01 01 00 2D BB 3C
07 D1 68 0F 90 7E 25 D4 46 B5 B9 C9 80 31 5A DD
A7 E0 9D 42 47 13 F0 38 CD 77 8A 4C 7B 58 86 EB
3B BB 65 63 93 FB 5C DD 62 6F B5 0A 06 B9 45 9B
80 29 F2 DF 66 7D 36 BD 88 98 97 BF 11 14 BB F1
46 8B 5F D5 1E F0 F6 68 1D 00 18 7B FB 17 D9 1F
5E BC 03 D4 C6 D2 15 80 CD 8D 10 07 85 72 50 F0
D9 7E 8B C5 A1 12 74 AA 2B 84 95 BD 3D A2 96 9E
55 F0 A5 21 18 70 F7 6F 68 34 45 70 85 4D 13 E4
0A DD 7B BA 0F 58 40 32 AD 48 46 7F CD A4 0F 33
1C 49 BC 55 A8 61 FF AF F8 95 68 9D A4 64 43 0F
BA 06 77 7F 69 C4 4D B7 C4 31 C0 6E E7 A4 D0 48
D5 58 40 C4 82 DD 8C DD B8 45 38 73 E3 BC 42 D8
41 3E A8 DF 17 0B BA 88 03 BF C5 9B A3 43 18 45
E4 9C 57 13 A1 A8 68 65 ED 90 0E E4 90 F6 94 E5
5E FF 82 11 8A D3 B5 52 FC 2A BE 98 CB 5B 73 56
CD 40 ED 13 FC 34 64 48 D8 14 99 E4 06
tls1_enc(0)
dec 4
0E 00 00 00
tls1_generate_master_secret(03D80790,03D705DC, 03D81FDC, 32)
tls1_generate_master_secret() complete
tls1_enc(1)
tls1_enc(1)
tls1_setup_key_block()
client random
66 B6 E0 76 F1 9F 9B EE 2A 48 C2 AA 9B 83 93 CC
D7 BD CD 8A A2 A7 0D AE 2D CA 9F ED 1A D6 BA D7
server random
FD EF 71 2E 7C F1 57 4F B2 2E 9B 1A F8 8D A7 4A
CB 17 A3 0E BA 8C 64 92 44 4F 57 4E 47 52 44 01
pre-master
2A C2 A2 B4 DE CF 6B E7 FB E1 88 03 B4 FD BF B0
A3 15 38 2A 78 9C 3F 1D D8 F6 AE D9 9F 4C 6F 91
11 FE D8 0F 88 62 AB 8B 89 0B 93 E5 C4 1D 60 BE
tls1_generate_key_block() ==> 48 byte master_key =
        2AC2A2B4DECF6BE7FBE18803B4FDBFB0A315382A789C3F1DD8F6AED99F4C6F9111FED80F8862AB8B890B93E5C41D60BE

key block
FE 2F 27 0F 18 E7 22 55 C8 B9 E8 98 E5 27 08 CF
79 58 88 23 DA F8 02 2D DE D4 E0 12 FC 71 DF B9
D2 9A A3 27 00 D2 B8 8B 05 E5 A2 83 40 09 0D DF
08 07 78 14 FA 78 59 71 68 B7 1B 4B D7 A9 B0 BA
57 D7 F9 70 09 2A 63 1E E5 D7 D3 A8 73 75 24 94
89 71 43 5E B5 1C 82 D0 tls1_change_cipher_state(which= 18) w/
        alg= 128/1, comp= 00000000
        evp_cipher == 52452F58 ==? &d_cbc_ede_cipher3
        evp_cipher: nid, blksz= 901, 1, keylen=32, ivlen=12
        key_block: len= 88, data= fe2f270f18e72255c8b9e898e52708cf79588823daf8022dded4e012fc71dfb9d29aa32700d2b88b05e5a28340090ddf08077814fa78597168b71b4bd7a9b0ba57d7f970092a631ee5d7d3a8737524948971435eb51c82d0
which = 0012
mac key=EVP_CipherInit_ex(dd,c,key=,iv=,which)
        key= fe2f270f18e72255c8b9e898e52708cf79588823daf8022dded4e012fc71dfb9
         iv= 57d7f970092a631ee5d7d3a8
which = 0012
key=FE 2F 27 0F 18 E7 22 55 C8 B9 E8 98 E5 27 08 CF
79 58 88 23 DA F8 02 2D DE D4 E0 12 FC 71 DF B9

iv=57 D7 F9 70
tls1_enc(1)
EVP_Cipher(ds=03DA0A88,rec->data=03D8FB00,rec->input=03D8FB00,l=40) ==>
        EVP_CIPHER_CTX: 0 buf_len, 32 key_len [8 128], 12 iv_len
                IV: 57D7F9709AEB17F042DFDFBF
        rec->input= 01 00 00 42 41 04 fd 14 14 00 00 0c bc 4c ee f3 24 1b 0f 5b 3d a5 2e b2 e7 37 4c 38 9e a4 f8 d8 55 c8 8b 53 3d d6 e7 bd
        rec->data= 9a eb 17 f0 42 df df bf fb 2f 82 35 25 8f a1 5b e5 ff eb 3c de f2 74 d4 b7 c9 84 42 6c e7 a1 67 02 ae e9 06 a6 09 d1 ef
QSslSocketBackendPrivate::transmit: encryption not done yet
QSslSocketBackendPrivate::transmit: wrote 126 encrypted bytes to the socket 126 actual.
QSslSocketBackendPrivate::transmit: testing encryption
QSslSocketBackendPrivate::transmit: encryption not done yet
QSslSocketBackendPrivate::transmit: testing encryption
QSslSocketBackendPrivate::transmit: encryption not done yet
QSslSocket::_q_bytesWrittenSlot( 126 )
QSslSocket::_q_readyReadSlot() - 258 bytes available
QSslSocketBackendPrivate::transmit: read 258 encrypted bytes from the socket
QSslSocketBackendPrivate::transmit: testing encryption
tls1_enc(0)
dec 202
04 00 00 C6 00 00 01 2C 00 C0 90 53 77 33 3B 74
B9 CC 67 CE 02 CE 41 7B 8D A1 05 D3 D0 F9 86 A0
4B 62 3F 77 B3 02 BB BE 75 C6 34 CC A9 80 78 D1
10 8E 3B 17 96 2C 17 BD BF 93 49 5A 6F 5D 5E 56
45 61 AD 7E 7E 3C C8 93 FF 5F 3F DB 84 03 78 3B
F1 0E 8A C4 5A 43 BC 23 8F 04 9C 51 24 F5 EE 62
4B AA 6A A4 9F 3A 1B 43 B1 3A F0 F1 1D FA 63 48
AC 4B 05 6E 5D 16 87 D9 B2 D3 D2 73 BF AB 92 B2
19 A3 9A 87 C0 1D 65 B8 49 41 10 E9 D3 EE 3C 3C
87 04 7C 15 4C B4 76 F2 6E 62 6A 95 A8 51 70 87
C7 88 BF B4 E5 FC 17 65 EA 44 20 C1 AD 86 5B 53
AC 6F CB C3 E3 4D 2B 1A 7C 24 78 41 68 84 99 DA
F0 4D 20 58 0A 34 B2 7B 1F 43
tls1_enc(0)
dec 1
01
tls1_change_cipher_state(which= 17) w/
        alg= 128/1, comp= 00000000
        evp_cipher == 52452F58 ==? &d_cbc_ede_cipher3
        evp_cipher: nid, blksz= 901, 1, keylen=32, ivlen=12
        key_block: len= 88, data= fe2f270f18e72255c8b9e898e52708cf79588823daf8022dded4e012fc71dfb9d29aa32700d2b88b05e5a28340090ddf08077814fa78597168b71b4bd7a9b0ba57d7f970092a631ee5d7d3a8737524948971435eb51c82d0
which = 0011
mac key=EVP_CipherInit_ex(dd,c,key=,iv=,which)
        key= d29aa32700d2b88b05e5a28340090ddf08077814fa78597168b71b4bd7a9b0ba
         iv= 092a631ee5d7d3a873752494
which = 0011
key=D2 9A A3 27 00 D2 B8 8B 05 E5 A2 83 40 09 0D DF
08 07 78 14 FA 78 59 71 68 B7 1B 4B D7 A9 B0 BA

iv=09 2A 63 1E
tls1_enc(0)
EVP_Cipher(ds=03DAC230,rec->data=03D87578,rec->input=03D87578,l=40) ==>
        EVP_CIPHER_CTX: 0 buf_len, 32 key_len [8 128], 12 iv_len
                IV: 092A631E0000000000000000
        rec->input= 8c 64 79 a6 5d b6 d1 40 32 45 9b 30 be d4 36 1f 96 cc e5 42 cf 9f 7c a4 33 9c 5c dc 4e 50 1d e9 05 3b 9f 06 82 da 2a 89
        rec->data= 14 00 00 0c ad 66 10 23 07 14 f3 96 13 25 cf 82 33 9c 5c dc 4e 50 1d e9 05 3b 9f 06 82 da 2a 89 75 c6 34 cc a9 80 78 d1
dec 16
14 00 00 0C AD 66 10 23 07 14 F3 96 13 25 CF 82

----------- sslErrors : -----------
FR::sslErrors :  "The certificate has expired"
QSslSocket::_q_stateChangedSlot( QAbstractSocket::ClosingState )
QSslSocket::_q_stateChangedSlot( QAbstractSocket::UnconnectedState )
QSslSocket::_q_disconnectedSlot()
        state = QAbstractSocket::UnconnectedState
QSslSocketBackendPrivate::transmit: connection lost
QSslSocket::close()

response :  ""
QSslSocket::close()

Можно просто сравнить лог openssl.exe из сборки самого openssl :

openssl.exe s_client -connect kkmspb.ru:443 -servername kkmspb.ru -tls1_2 > kkmspb.txt

Можно в qt исходниках QtNetWork добавить вывод о параметрах установленной сессии TLS (подглядели в примере openssl.exe исходников openssl):

BIO *bio_c_out = BIO_new_fp(stdout, BIO_NOCLOSE); //++
    SSL_SESSION_print(bio_c_out, SSL_get_session(ssl)); //++

Вставляем этот вывод после emit q->encrypted(); (startHandshake).

И какова же была наша радость , когда мы увидели это , что оказывается мы давно устанавливаем соединение по TLSv1.2 ( Cipher : ECDHE-RSA-AES256-GCM-SHA384):

FR::sslErrors :  "The certificate has expired"
QSslSocket::writeData( 0x3a03de8 , 140 )
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-AES256-GCM-SHA384
    Session-ID: ECB21B7453E6E21DF0DF04A8AF224D2C53150AE7058E4D0449092FD0B25BCEE6
    Session-ID-ctx:
    Master-Key: 21253DAE8FF7B3D22411A5936DB52085C62140AFBAB66989300FA170B0CF2751BED5B7BD3A4403282EE3E5397D9E1451
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 300 (seconds)
    TLS session ticket:
    0000 - ce 8f e6 58 9c 40 b9 8a-a3 a3 c2 c5 71 2e fd 8c   ...X.@......q...
    0010 - f5 9c 02 b9 04 fe 11 b9-d5 ea 26 6b 72 63 16 52   ..........&krc.R
    0020 - 95 be ca e5 a5 98 25 ce-b2 a1 0f 4b a1 b1 b2 2a   ......%....K...*
    0030 - 34 a1 f1 29 a9 07 ca 43-44 d2 35 e5 01 d6 4b b1   4..)...CD.5...K.
    0040 - c4 71 11 31 a8 d1 a3 7e-52 05 ca 28 c3 28 3a f7   .q.1...~R..(.(:.
    0050 - 67 89 05 a5 3b 7f a3 8f-db 5a c5 54 22 99 79 de   g...;....Z.T".y.
    0060 - a4 f4 5b d9 a1 d0 a0 cc-60 8c b9 10 0b fe 38 25   ..[.....`.....8%
    0070 - 2d 7b 71 dc ef bc 39 3a-8f fc 1d fc 02 97 89 53   -{q...9:.......S
    0080 - cc 4f f4 82 1e 1a 27 81-28 64 b8 05 d0 48 a1 d4   .O....'.(d...H..
    0090 - b9 61 ac e3 c6 67 b7 f4-32 4f f4 b5 69 15 d1 c2   .a...g..2O..i...
    00a0 - 9c 46 35 82 c7 49 86 9c-25 0a 4e 7d 1c c7 8b af   .F5..I..%.N}....
    00b0 - 13 9a 7a d0 6f 29 9c 25-a9 05 db f4 d5 d4 4c af   ..z.o).%......L.

    Start Time: 1648812612
    Timeout   : 7200 (sec)
    Verify return code: 10 (certificate has expired)
QSslSocketBackendPrivate::transmit: encryption established

Остается только понять откуда и почему берется FR::sslErrors : "The certificate has expired" , так как сертификат на сервере действующий.

emit q->sslErrors(errors); здесь происходит вывод на экран ошибки "The certificate has expired".

Но формируется состав errors раньше.

Так или иначе, но при работе QtNetwork под Windows будут использоваться системные библиотеки типа crypt32.dll (wincrypt.h) и надо это учитывать.

Вот такая конструкция cd /d "%~dp0" в bat файлах очень полезна , когда вы перед этим делали

call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86

cd /d "%~dp0" возвращает текущий каталог на тот из которого вы запускает bat файл. Иначе dumpbin.exe (или другая прога) может найти совсем не то ssleat32.dll , котороый вы хотели.

Вот так примерно QtNetWork не забывает подгружать системные библиотеки Windows:

void QSslSocketPrivate::ensureCiphersAndCertsLoaded()
....
HINSTANCE hLib = LoadLibraryW(L"Crypt32");

Кстати в основном для генерации случайных чисел , так как openssl сама этого не делает ввиду того, что для генерации случайных чисел надо использовать аппаратное время.