Pb WS <=> Edge/Chrome

Bonjour les amis,

Je viens de trouver un problème sur teletel.org et l’émulateur Web Socket de Zigazou (version ‹ JOHER › datant de mathusalem et légèrement modifiée par mes soins pour supporter la touche Cnx/Fin).

Je ne teste/vérifie que rarement que tout fonctionne bien … ou pas. Or là, je teste, vérifie et constate « ça marche pô ». Plusieurs PC, plusieurs résultats différents.

  • Windows 10 et Firefox [PC perso #1] (en local) ==> OK (machine que j’utilise habituellement pour les bidouilles/Minitel)
  • Windows 10 et Edge [PC perso #1] (en local) ==> KO
  • Windows 11 et Chrome [PC perso #2 (machine à ‹ maman ›)] (en local) ==> KO
  • Windows 11 et Edge [PC perso #2] (en local) ==> KO
  • Windows 11 et Firefox [PC perso #2] (en local) ==> OK (Visiblement, actuellement, il n’y a que Firefox ‹ qui marche ›)
  • Android + Chrome [Mon tel perso] (en 4G) ==> KO
  • iPhone 13 + Safari [Tel de ma fille] (en local et 4G) ==> OK (en fait, pas que, les vieux iPhone aussi)
  • iPhone 13 + Chrome [Tel de ma fille] (en local et 4G) ==> OK
  • iPhone 10 + Safari [Tel de mon fils] (en local et 4G) ==> OK
  • Windows 10 et Edge [PC corporate #1] (en VPN) ==> KO
  • Windows 11 et Chrome [PC corporate #2] (en VPN) ==> KO
  • Windows 11 et Edge [PC corporate #2] (en VPN) ==> KO
  • Windows 11 et Chrome [PC corporate #2] (en local) ==> KO
  • Windows 11 et Edge [PC corporate #2] (en local) ==> KO

Verdict TCPDUMP : rien de flagrant …

  • Quand « ça marche », pas de soucis de communication « RouteurFibre » <=> « Serveur RPi WS »
  • Quand « ça marche pô », pas de communication « RouteurFibre » <=> « Serveur RPi WS »

Les ports nécessaires sont bien ouverts sur le routeur - mon problème est dans le code de l’émulateur WS et les évolutions ‹ récentes › sur Chrome et Edge.

@« tout sachant » : Quelqu’un aurait-il une idée ?

NB : Visiblement, il n’y a que moi pour avoir ce problème :rage: ou :sob: ?!?

Une piste …

Ce ne serait pas un soucis du fait que ta page est en https mais que ta websocket n’est pas SSL par hasard ? (j’avais eu le même soucis plus ou moins jusqu’à supporter les websockets sécurisées)

Par exemple, sous Firefox Windows 11 :
http://teletel.org/index-teletel.html fonctionne
En revanche, https://teletel.org/index-teletel.html ne fonctionne pas.

Sur mon portable Android, sous Chrome, qui force le https visiblement, ca ne fonctionne pas (car ta websocket n’est pas sécurisée).

Si ca peut t’aider !

C’est visiblement ça … Maintenant, ce que je ne m’explique pas, c’est que sur Hacker, avec un code identique, bah, ça marche !??

image

Alors que là, bin non !

image

Du coup, 2 solutions :

  • Orthodoxe ==> Sécuriser le WS … Oui mais bon (pas envie de changer l’URL « pour le principe »)
  • Pas orthodoxe ==> Ne pas sécuriser le WS … Comment fait-il pour que ça marche quand même ?

C’est que Hacker son site il est pas en https, donc les websocket non-sécurisées sont acceptées.

Le tiens oui, donc il faut que tous les contenus à l’intérieurs soient eux-mêmes sécurisés, sinon ça peut ne pas fonctionner. Il faudrait que ton site soit tout le temps http (et pas https), ou bien (mieux) que tu utilises des websockets sécurisées (wss://)

Ps : quand ca marche avec une websocket non-sécurisée, est-tu sûr que le site web est en SSL (https) ? En principe tu ne peux pas voir du contenu pas sécurisé sur une page qui l’est.

A vrai dire, je ne suis sur de rien !

Je n’ai rien touché à ce bazar depuis une éternité (même pas fait les modifs que je voulais faire suite à notre longue conversation téléphonique - my bad !). Je comprends sans soucis l’histoire « sécure » VS « non sécure ».

Compris (?) - Je n’ai plus qu’à accepter les connexions aussi en « mode sécure », puisque par défaut, les navigateurs ‹ modernes › tentent systématiquement d’ouvrir les sessions en HTTPS et OVH est (?) sécure.

Mais, est-il possible de faire du WS et du WSS sur le même port ?

Je ne pense pas que tu puisses utiliser le même port pour cela.
Il en faudrait 1 pour le ws et un autre pour le wss.
Un peu comme http sur port 80 et https sur 443

Oui - Alors, c’est un peu le foutoir.

[Historique]

  • J’ai moi-même mis un certificat (Let’s Encrypt) côté hébergeur (OVH) à une époque lointaine. Ce certificat marche tellement bien que je l’avais oublié.
  • J’avais considéré ‹ non critique › l’avertissement sécuritaire des navigateurs du moment, et même plutôt positifs, sachant que rien n’était ‹ protégé › en ce temps (et que rien n’est ‹ protégeable › une fois sur le serveur)
  • Je n’avais pas envisagé le durcissement paranoïde des navigateurs

[Stratégie]

  • Les modifications à mettre en œuvre sur le module « GatewayServer » sont à première vue trop importantes pour envisager le support de WSS en plus du WS - ce sera l’un ou l’autre (ce qui évite aussi de revoir le reste de la conf, ouvertures de ports, etc) et WSS par défaut

[Fait hier soir]

  • Essai de modification du code HTML/JS pour forcer l’appel en mode « insecure » ==> KO, les navigateurs ‹ modernes › repassent systématiquement en HTTPS si dispo.
  • Modification du code HTML/JS pour appel en WSS en lieu et place du WS ==> OK
  • Modification du code ‹ main__.py › pour prise en compte du paramètre supplémentaire ==> OK
  • Modification du code ‹ GarewayServer.py › pour activation du TLS (cf ReadTheDocs) ==> Problème, je n’ai pas de vrai certificat sur mon RPi, le .PEM fourni dans l’exemple ne marche évidement pas, en conséquence, l’ouverture de session foire.
  • J’ai fait une capture TCPDUMP de la foirade … comme tout est encodé, WireShark ne me donne rien d’exploitable.
  • OPENSSL est un peu plus bavard - mais, de là a y comprendre quelque chose

pi@raspberrypi:~ $ openssl s_client -connect www.teletel.org:443
CONNECTED(00000003)
depth=2 C = US, O = Internet Security Research Group, CN = ISRG Root X1
verify return:1
depth=1 C = US, O = Let’s Encrypt, CN = R10
verify return:1
depth=0 CN = teletel.org
verify return:1

Certificate chain
0 s:CN = teletel.org
i:C = US, O = Let’s Encrypt, CN = R10
1 s:C = US, O = Let’s Encrypt, CN = R10
i:C = US, O = Internet Security Research Group, CN = ISRG Root X1

Server certificate
-----BEGIN CERTIFICATE-----
MIIE+DCCA+CgAwIBAgISBJ3pFEwi138j4oh3WJJWsko4MA0GCSqGSIb3DQEBCwUA
MDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQD
EwNSMTAwHhcNMjQxMDIwMDI1NjQ1WhcNMjUwMTE4MDI1NjQ0WjAWMRQwEgYDVQQD
Ewt0ZWxldGVsLm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALj5
yqMkPLO6sluI1nAm7acDDNK9vY4xWAIG8LCpG/Q6Dn1mehwfJlIAftwInz/8ukid
ofMHmhxc/lW9eqnw5+wo86KbzMGBnA7lS9N+N0BFkN9T10adpGnB8X+8AN6mjf/Y
sqcnCDCBCouXh1Vppvw4cL7PgbC0QttUMORWoPxbEdByKR8H+WBMUzr506jRvgWQ
YgICZ+Yswmgz075ylht5EXy/3f6B+Wmk0/GG3ZyPnv00R5qF10ckRvEKs/tTuJd3
2fWpiUTUi24j8hLo4oHnvRzWyKizkzKBwrzYjwpFx0kVexwRXrJJOvjjkS+PyAMX
M+WuMjogKqoAiIcZ7QMCAwEAAaOCAiEwggIdMA4GA1UdDwEB/wQEAwIFoDAdBgNV
HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4E
FgQUl11wKX1e11k7/VsgLxUCqIjbSHwwHwYDVR0jBBgwFoAUu7zDR6XkvKnGw6Ry
DBCNojXhyOgwVwYIKwYBBQUHAQEESzBJMCIGCCsGAQUFBzABhhZodHRwOi8vcjEw
Lm8ubGVuY3Iub3JnMCMGCCsGAQUFBzAChhdodHRwOi8vcjEwLmkubGVuY3Iub3Jn
LzAnBgNVHREEIDAeggt0ZWxldGVsLm9yZ4IPd3d3LnRlbGV0ZWwub3JnMBMGA1Ud
IAQMMAowCAYGZ4EMAQIBMIIBBQYKKwYBBAHWeQIEAgSB9gSB8wDxAHcAPxdLT9ci
R1iUHWUchL4NEu2QN38fhWrrwb8ohez4ZG4AAAGSqBClhgAABAMASDBGAiEA+S8w
UM2Q1040AZBcTHrWNPp3SN9lK14WftEa6WvsOkMCIQCBuYtqSYBb/1eAhH/5m45e
qGmreCU4sarejrLWRHj6EAB2AOCSs/wMHcjnaDYf3mG5lk0KUngZinLWcsSwTaVt
b1QEAAABkqgQpeoAAAQDAEcwRQIgaILnp115XphM5U+JdCLKaq6jxTMqsCt/y8nV
57AgG74CIQCoJFZdBynatWjUDq10h63R7e6ok3bBkQZPNGmVs9LmGzANBgkqhkiG
9w0BAQsFAAOCAQEAhlfv00UDJXuiDAH37FJCLeLVsGNEFWQ2BmhwVaeZ5SAizkDA
e5jnVVUhzvrBpsVPSLYkBR5U/opdJL4RPuGSv8mEi4FOLtIOH0vrgOul61L53ZSD
fV48o58121IQQK2gQkPpwLJfIgQDhskUL3tdK0ZmX5evnG9ZE4k5XB9rlIDzJsLN
hPnFeAZMKCl0/Iju3cmkj0QFuQgylJqWz3AwTHhTkfqPF0CSce7CVJKUJFQz1QNt
pGHx/CK8XXaVfdlZPpBcu6M3caVMPdwWK5ffxqT/WHpw3qeiEYC2VkLl6OKxKgTk
q4eRy4FuDE8Y3NPN8pIqcmrTkTdWnXG4IotYog==
-----END CERTIFICATE-----
subject=CN = teletel.org

issuer=C = US, O = Let’s Encrypt, CN = R10


No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits

SSL handshake has read 3130 bytes and written 387 bytes
Verification: OK

New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)


Post-Handshake New Session Ticket arrived:
SSL-Session:
Protocol : TLSv1.3
Cipher : TLS_AES_256_GCM_SHA384
Session-ID: 8BBACCCDD26BC5129DFDD8785E6EA509BA93CDD42F52B1BDED521B3544F7BCCA
Session-ID-ctx:
Resumption PSK: A4956BC15F2F3F9A81894F3DBF8D66657484E539C79018A62D1D4CAF3D62154BE5F02A9EEED25A939491CBC3DC671885
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 7200 (seconds)
TLS session ticket:
0000 - c4 9b 75 e9 a0 cb 7c 1c-85 c5 6b dc be 6a 42 9b …u…|…k…jB.
0010 - b8 69 c7 e9 42 48 28 fe-32 97 43 8e e2 43 f7 6c .i…BH(.2.C…C.l

Start Time: 1730285295
Timeout   : 7200 (sec)
Verify return code: 0 (ok)
Extended master secret: no
Max Early Data: 0

read R BLOCK

Post-Handshake New Session Ticket arrived:
SSL-Session:
Protocol : TLSv1.3
Cipher : TLS_AES_256_GCM_SHA384
Session-ID: 3A4D4534882C4B2B947BC8B801C5492CA159BB79E8F55E192159890B5E69BCA7
Session-ID-ctx:
Resumption PSK: 5F74F3387BC6C629E58FCE368DA00ECACD46937B2B643E85E9D687C98E17CD7B4A9B203B0C09C8D2B3EDADB869F116A3
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 7200 (seconds)
TLS session ticket:
0000 - 16 5a 11 83 88 b0 22 01-e8 28 77 69 8d 59 3b de .Z…"…(wi.Y;.
0010 - 9f 2c 4d 95 4e cc 7a aa-ee e4 ea 45 20 21 5b dd .,M.N.z…E ![.

Start Time: 1730285295
Timeout   : 7200 (sec)
Verify return code: 0 (ok)
Extended master secret: no
Max Early Data: 0

read R BLOCK
closed
pi@raspberrypi:~ $

pi@raspberrypi:~ $ openssl s_client -connect home.teletel.org:9001
CONNECTED(00000003)
depth=0 C = FR, L = Paris, O = Aymeric Augustin, CN = localhost
verify error:num=18:self signed certificate
verify return:1
depth=0 C = FR, L = Paris, O = Aymeric Augustin, CN = localhost
verify return:1

Certificate chain
0 s:C = FR, L = Paris, O = Aymeric Augustin, CN = localhost
i:C = FR, L = Paris, O = Aymeric Augustin, CN = localhost

Server certificate
-----BEGIN CERTIFICATE-----
MIIDTTCCAjWgAwIBAgIJAOjte6l+03jvMA0GCSqGSIb3DQEBCwUAMEwxCzAJBgNV
BAYTAkZSMQ4wDAYDVQQHDAVQYXJpczEZMBcGA1UECgwQQXltZXJpYyBBdWd1c3Rp
bjESMBAGA1UEAwwJbG9jYWxob3N0MCAXDTE4MDUwNTE2NTkyOVoYDzIwNjAwNTA0
MTY1OTI5WjBMMQswCQYDVQQGEwJGUjEOMAwGA1UEBwwFUGFyaXMxGTAXBgNVBAoM
EEF5bWVyaWMgQXVndXN0aW4xEjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAMbyINqThQGm6shNaNJ+onRhUb9LnqeGzB6G
6kJojO7TFDzCo9KzfqHm3WMx7Ek9l+/DK8WNxX6FimMswzTAwk/H2gFAR7RuyaUL
rp7xoXRSlJDDVpV9ijED0F6OATKsU0TtxFtA1gURv/ncd+pkp0RADZ+BBKVnRFNG
YusP6XvaI7mjbGXlu21emphkHZc6TI7v2P/FZ273MUSyBknnKxZuqhEAaCfGN1hi
v0MBF3xsgT+E3dJbuYO3m/guoIiEafVWavC1Pd3kC4ZA/PhgRubS3oY6WYWMgxgf
ljukAtFV+gkpGPoMY0hHUmJwv7CotXrqRxWePxYpuVrbSLt9Hs0CAwEAAaMwMC4w
LAYDVR0RBCUwI4IJbG9jYWxob3N0hwR/AAABhxAAAAAAAAAAAAAAAAAAAAABMA0G
CSqGSIb3DQEBCwUAA4IBAQC9TsTxTEvqHPUS6sfvF77eG0D6HLOONVN91J+L7LiX
v3bFeS1xbUS6/wIxZi5EnAt/te5vaHk/5Q1UvznQP4j2gNoM6lH/DRkSARvRitVc
H0qN4Xp2Yk1R9VEx4ZgArcyMpI+GhE4vJRx1LE/hsuAzw7BAdsTt9zicscNg2fxO
3ao/eBcdaC6n9aFYdE6CADMpB1lCX2oWNVdj6IavQLu7VMc+WJ3RKncwC9th+5OP
ISPvkVZWf25rR2STmvvb0qEm3CZjk4Xd7N+gxbKKUvzEgPjrLSWzKKJAWHjCLugI
/kQqhpjWVlTbtKzWz5bViqCjSbrIPpU2MgG9AUV9y3iV
-----END CERTIFICATE-----
subject=C = FR, L = Paris, O = Aymeric Augustin, CN = localhost

issuer=C = FR, L = Paris, O = Aymeric Augustin, CN = localhost


No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits

SSL handshake has read 1405 bytes and written 388 bytes
Verification error: self signed certificate

New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 18 (self signed certificate)


Post-Handshake New Session Ticket arrived:
SSL-Session:
Protocol : TLSv1.3
Cipher : TLS_AES_256_GCM_SHA384
Session-ID: 3020D14379A33D8645AAABD35993D6BD86887E7C444A26B6F87C906C00F06570
Session-ID-ctx:
Resumption PSK: 069B16301593C61310201BC686C832FD2D8831DA13ACD7ED672ACCAB911B80055F17488ECF04D05D8FF0EE184018B4CE
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 7200 (seconds)
TLS session ticket:
0000 - 96 a2 59 6c 3c 81 23 93-a2 20 99 23 23 eb 7b b4 …Yl<.#… .##.{.
0010 - 21 99 51 76 83 5a 0c 70-c2 45 bf 0a e2 68 0c 38 !.Qv.Z.p.E…h.8
0020 - 61 fb 83 30 05 2d a1 75-69 01 c6 ed 92 8a 57 78 a…0.-.ui…Wx
0030 - 01 2a 76 b3 2b c3 d4 02-52 69 bc 18 fd 46 f1 b4 .v.+…Ri…F…
0040 - ea 6e df 1a f0 31 b1 6a-73 9c 2a 2f 2d e1 da 3a .n…1.js.
/-…:
0050 - 4e 8a b3 d0 4c 9c 7a cb-d1 72 eb 07 04 bb cb f8 N…L.z…r…
0060 - 47 9e bf 43 78 7b 16 71-dc 74 36 c4 67 ba f7 1b G…Cx{.q.t6.g…
0070 - f2 a9 bc 66 32 23 a0 0f-67 4a 9e cc 9c c6 f4 a3 …f2#…gJ…
0080 - 3e fc 20 f0 7d 05 f2 85-26 f0 f4 d1 e4 4e 8f 57 >. .}…&…N.W
0090 - d0 b6 b4 0e e7 5d 67 05-07 28 1b c0 91 92 c2 e5 …]g…(…
00a0 - 65 b7 d3 30 12 e9 2a 1c-95 38 0e 4c a6 20 c7 2c e…0……8.L. .,
00b0 - 96 2b 2a db 83 80 00 8d-ca 4b 87 42 5e dc a3 f5 .+
…K.B^…
00c0 - 95 e4 f8 8d cf 5a 10 f6-ab 4d fd 21 c4 74 3d 68 …Z…M.!.t=h

Start Time: 1730285484
Timeout   : 7200 (sec)
Verify return code: 18 (self signed certificate)
Extended master secret: no
Max Early Data: 0

read R BLOCK

Post-Handshake New Session Ticket arrived:
SSL-Session:
Protocol : TLSv1.3
Cipher : TLS_AES_256_GCM_SHA384
Session-ID: 306D01C5833646F0DCC947CA33D5A449CDA9FBF35E40D07C8B5CBF7BF45FDFB4
Session-ID-ctx:
Resumption PSK: 5B224B45E20EF46EDE70239429DDA55F9704914CBF5D5D3799B9FDB6878324489FBE6DBE83571F59787C0E4875AA4530
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 7200 (seconds)
TLS session ticket:
0000 - 96 a2 59 6c 3c 81 23 93-a2 20 99 23 23 eb 7b b4 …Yl<.#… .##.{.
0010 - 5b 1b e5 57 bb 11 58 76-68 ce c7 7e c7 1a ad 29 […W…Xvh…~…)
0020 - 34 36 a5 cd 94 c3 18 2a-b4 71 05 4b 9c 27 08 1b 46…*.q.K.'…
0030 - 66 80 bc 14 d0 5a fa 5e-c0 b7 0e 0c 36 c6 76 1d f…Z.^…6.v.
0040 - 87 45 75 45 1d 21 6f 7d-41 7a 3e 6e 42 7f 50 f3 .EuE.!o}Az>nB.P.
0050 - 1e bf 04 a9 68 4c ed 27-6e 4b 95 46 e5 b7 62 22 …hL.'nK.F…b"
0060 - 08 6e de eb 6c 21 f5 70-55 c0 b6 e8 cd 6a cc af .n…l!.pU…j…
0070 - f6 2e e5 e4 0c 81 94 75-f8 f4 da 1a cd 34 ac d0 …u…4…
0080 - 5c 3f 96 07 12 6b c3 47-a6 0f bf 29 c3 cb c7 07 ?…k.G…)…
0090 - 5a 05 1f 21 8a d7 4d b1-ba 38 74 58 99 86 0a c5 Z…!..M…8tX…
00a0 - a2 de eb 5b b8 16 75 5e-35 12 af 06 df a1 7f bf …[…u^5…
00b0 - 43 91 95 53 9c 55 24 09-41 50 9f 2e 3b b5 fe 8f C…S.U$.AP…;…
00c0 - 66 6b 9a 83 65 07 61 66-cf 4b 24 74 92 2e 02 cf fk…e.af.K$t…

Start Time: 1730285484
Timeout   : 7200 (sec)
Verify return code: 18 (self signed certificate)
Extended master secret: no
Max Early Data: 0

read R BLOCK

Avec çà, me v’là bien ! Les certificats, c’est tout ce que j’aime.

Sur le principe, de ce que j’ai compris, il faudrait que je récupère le certificat fourni par Let’sEncrypt sur OVH [comment ? pas encore vraiment cherché mais rien vu de flagrant], que j’y mette l’emprunte de mon RPi [là, pareil, comment ?] afin de faire un PEM valide en concaténant tout ça.

==> Pourquoi faire simple ?? En attendant, c’est en carrafe, sauf en Telnet.

Tu veux dire qu’à l’époque tu as généré toi-même un certificat via Letsencrypt (tu es allé sur leur site), c’est ca ?
Tu n’utilises pas le certificat gratuit proposé par OVH ?

Car s’il s’agit du certificat gratuit proposé dans les hébergement, d’après ce que je sais, tu ne peux pas le récuperer. Il sert uniquement pour ton hébergement.

Si tel est le cas, il faut que tu acquières (via letencrypt ou autre), un certificat additionel pour ton serveur websocket.

C’est exactement ce que je viens de comprendre… mon premier certificat date de 2016, donc, sur et certain, c’est OVH qui l’a fait à l’insu de mon plein gré.

Effectivement, rien à faire pour le récupérer - Il est valide pour 2 domaines « teletel.org » et « www.teletel.org » … la bonne blague - impossible d’espérer y ajouter un 3eme domaine type « home.teletel.org », et quand bien même, je ne pourrai pas récupérer MA clé. Exit donc la ‹ solution › OVH.

Maintenant, la procédure Let’sEncrypt’ (disons, ‹ LE › pour faire plus simple), de ce que j’ai vu jusqu’à présent, me déplait fortement :

  • Ouvrir 80 et 443 sur le routeur ==> NIET
  • Diriger 80 et 443 vers le RPi ==> re-NIET
  • Ajouter NGINX sur le RPi ==> NIET

Je vais essayer de voir si/comment je peux m’en débrouiller en mode « full manuel » https://eff-certbot.readthedocs.io/en/latest/using.html#manual … sachant que le certificat n’est valide que 90 jours, belle galère en perspective.

Pour eviter les galeres tu sais que tu peux acheter un certificat SSL pour $10 par an ?

… Je n’ai pas encore exploré cette piste (d’un point de vue éthique, déplaisante aussi). Que me suggères tu ?

J’ai des tonnes de certificats (domain, wildcard, multi-san, code signing) et j’ai un fournisseur different pour chaque avec le meilleur prix.

Pour un SSL avec un domaine (www.domain.com et domain.com) ca te coute $10 par an.

Pour un SSL wildcard (*.domain.com) ca te coute $77 par an.

Le moins cher est ici:

Avec PositiveSSL et PositiveSSL Wildcard.

… Je teste ça … 18$/5 ans, c’est effectivement pas la mort - mais à multiplier par le nombre de certificats [prétendument] nécessaires à ce monde paranoïde, c’est une belle manne.

J’ai aussi vu ça https://eff-certbot.readthedocs.io/en/latest/using.html#dns-plugins in ‹ the doc ›, avec un plugin certbot-dns-ovh … A creuser.

Me v’la maintenant avec tout un berdol :

  • Un fichier .CRT
  • Un fichier .P7B
  • Un fichier .CA-BUNDLE (qui ressemble au PEM tant espéré)
  • Un fichier .ORG_KEY.txt (ma petite clé privée ?)

L.E. sympa, mais tout ce qui est certificat ca m’emm… grave.
Donc, je suis allé au plus simple.
Perso, je suis passé par ssls.com, 12 euros pour 2 ans (pas wildcard) (le certificat est valide 1 an, puis tu le regénère pour la seconde année).

C’est un revendeur COMODO.

Tu peux aussi passer par zerossl.com : tu peux faire un certificat gratuit valide 3 mois, renouvelable 3 fois. Après, faut payer, mais surtout aller voir ailleurs, car très chers !

Bon alors, je suis en train de devenir fou …

fichiers .CRT et .CA-BUNDLE concaténés en un PEM unique … ‹ GatewayServer.py › modifié pour prendre ET la chaine publique ET la clé privée (cf la doc Python/SSL).

J’ai enfin un machin qui ne plante pas au démarrage ==> Bien
OPENSSL est content ==> Bien

pi@raspberrypi:~/python/PyMoIP $ openssl s_client home.teletel.org:9001
CONNECTED(00000003)
depth=2 C = US, ST = New Jersey, L = Jersey City, O = The USERTRUST Network, CN = USERTrust RSA Certification Authority
verify return:1
depth=1 C = GB, ST = Greater Manchester, L = Salford, O = Sectigo Limited, CN = Sectigo RSA Domain Validation Secure Server CA
verify return:1
depth=0 CN = home.teletel.org
verify return:1

Certificate chain
0 s:CN = home.teletel.org
i:C = GB, ST = Greater Manchester, L = Salford, O = Sectigo Limited, CN = Sectigo RSA Domain Validation Secure Server CA
1 s:C = GB, ST = Greater Manchester, L = Salford, O = Sectigo Limited, CN = Sectigo RSA Domain Validation Secure Server CA
i:C = US, ST = New Jersey, L = Jersey City, O = The USERTRUST Network, CN = USERTrust RSA Certification Authority
2 s:C = US, ST = New Jersey, L = Jersey City, O = The USERTRUST Network, CN = USERTrust RSA Certification Authority
i:C = GB, ST = Greater Manchester, L = Salford, O = Comodo CA Limited, CN = AAA Certificate Services
3 s:C = GB, ST = Greater Manchester, L = Salford, O = Comodo CA Limited, CN = AAA Certificate Services
i:C = GB, ST = Greater Manchester, L = Salford, O = Comodo CA Limited, CN = AAA Certificate Services

Server certificate
-----BEGIN CERTIFICATE-----
MIIGPzCCBSegAwIBAgIRAOq4SQAeQF78Qnk9967hEyEwDQYJKoZIhvcNAQELBQAw
gY8xCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
BgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDE3MDUGA1UE
AxMuU2VjdGlnbyBSU0EgRG9tYWluIFZhbGlkYXRpb24gU2VjdXJlIFNlcnZlciBD
QTAeFw0yNDEwMzAwMDAwMDBaFw0yNTEwMzAyMzU5NTlaMBsxGTAXBgNVBAMTEGhv
bWUudGVsZXRlbC5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD1
67XNa4GxKGRhUZXXu8mxS8YtWH1FYVkzRVu8+cKm+0AzXh0AOmOY5hLNrKCg0kC5
FFJHdLa4kUOq/wKDerrp77mjCIbUYcN8rg9pvvKI0taYWpjJCGZF7V5nBNUdDVvI
HWBOKDqy2sc9lUhQhDGZNuFcu9EXZMZZsWBRKOqtow5Ugg7P1jyP7aSxAvZppO2z
3EBj4O5tDCaJt56jUtG2St8T2ur1H9LQgmc+um8HajqqpjWE/kSR24z3oWO3b7cc
mcWRQy6Vec/xNEpoN5+n/OV5O15wjzlePwJkNL9WNup6zUKsQCKhaX1c9NwAJEcp
qayUdYBwRyZreVmIkvTdAgMBAAGjggMHMIIDAzAfBgNVHSMEGDAWgBSNjF7EVK2K
4Xfpm/mbBeG4AY1h4TAdBgNVHQ4EFgQUAh51mFKKyOIVWMJ0Q4IwvB8KbgQwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEG
CCsGAQUFBwMCMEkGA1UdIARCMEAwNAYLKwYBBAGyMQECAgcwJTAjBggrBgEFBQcC
ARYXaHR0cHM6Ly9zZWN0aWdvLmNvbS9DUFMwCAYGZ4EMAQIBMIGEBggrBgEFBQcB
AQR4MHYwTwYIKwYBBQUHMAKGQ2h0dHA6Ly9jcnQuc2VjdGlnby5jb20vU2VjdGln
b1JTQURvbWFpblZhbGlkYXRpb25TZWN1cmVTZXJ2ZXJDQS5jcnQwIwYIKwYBBQUH
MAGGF2h0dHA6Ly9vY3NwLnNlY3RpZ28uY29tMDEGA1UdEQQqMCiCEGhvbWUudGVs
ZXRlbC5vcmeCFHd3dy5ob21lLnRlbGV0ZWwub3JnMIIBfQYKKwYBBAHWeQIEAgSC
AW0EggFpAWcAdgDd3Mo0ldfhFgXnlTL6x5/4PRxQ39sAOhQSdgosrLvIKgAAAZLd
0LTqAAAEAwBHMEUCIFTn/QnPo/y8XCmsGlAEtf6hMM3MaGfz3N99ofLAoInKAiEA
q9RHVfX2TsJz/DUG/45M58lXQcTh3ugr9E1nhCuGPHQAdgDM+w9qhXEJZf6Vm1PO
6bJ8IumFXA2XjbapflTA/kwNsAAAAZLd0LToAAAEAwBHMEUCIQDI3ky59Lb8v+7j
EvP7CPNEG7Nxy9pD4elK93/GAL43HAIgEE6MCOCeX62rNvZ8qqr7tQUs/abM9rys
CojF3We64G4AdQAS8U40vVNyTIQGGcOPP3oT+Oe1YoeInG0wBYTr5YYmOgAAAZLd
0LS8AAAEAwBGMEQCIATRMk4sEy294MJHlzJ9sfXpu18zo+Lpad7K8l6pvOygAiAV
oUo7RUPgGloq7LLVPNTCNV3S0aPzDjYd2H9TSlBsbzANBgkqhkiG9w0BAQsFAAOC
AQEAnSumBxdXgGrtKv+d4YvWGWsaR3Uth/vmagFimSxiofP7s8lIwaRs17DncERo
pFUrvhnpr92desV9RcZqQzIJ+dYcclFbPbZyWuEBPvPzKIfY00nc+IGVrePiLgLe
hk8Ai+S+CxvqI91GGAkzTApGtA4AmLhVIvI7yOYoSWhq1aW4/aFPbeKH7efAv8rg
ZjX7iqI8p67O0oEuFmKM3JX9yRqa5lfaDuJ09yx7MjjuN+HeqUks/fiBxieKzFgT
qDX+/uYHbsx5e64PVG1Uf83OqCiJJIW0Vo6scm/yXYK2EQ/2pIoLB/39lRMhuhwn
dnbk16zDC+9BbJh0R8sPoB+pIg==
-----END CERTIFICATE-----
subject=CN = home.teletel.org

issuer=C = GB, ST = Greater Manchester, L = Salford, O = Sectigo Limited, CN = Sectigo RSA Domain Validation Secure Server CA


No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits

SSL handshake has read 6224 bytes and written 388 bytes
Verification: OK

New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)


Post-Handshake New Session Ticket arrived:
SSL-Session:
Protocol : TLSv1.3
Cipher : TLS_AES_256_GCM_SHA384
Session-ID: 96DBD129982E88653A818C43A9B77AE0B9C77410CA128C674E57975E573B0F6A
Session-ID-ctx:
Resumption PSK: 208FC60DA03F4B8C6295F124CDA24B2FD1F54F34254516B0607B1E0D44495A58540A414EC3D4E57CC20C661896013814
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 7200 (seconds)
TLS session ticket:
0000 - 18 32 7e c7 06 39 37 c7-26 d5 30 6f b2 29 24 f1 .2~…97.&.0o.)$.
0010 - 9f 86 a5 7b cf d9 f1 b9-46 e8 af 7a 08 4f 6b 14 …{…F…z.Ok.
0020 - 6d b8 74 37 38 d0 72 e5-61 dd 48 b8 b9 dd 6c ec m.t78.r.a.H…l.
0030 - 63 c9 43 1d 40 91 aa bd-0c b5 13 72 82 56 57 af c.C.@…r.VW.
0040 - 6f 5f a0 df c7 d8 8c a1-f9 49 d6 72 19 da 6e d4 o_…I.r…n.
0050 - dd 87 85 05 b8 28 a9 49-42 22 21 9b 1c 42 fc ef …(.IB"!..B…
0060 - fc 1b 51 89 f6 e2 db fb-f8 ef 54 51 7b 79 91 06 …Q…TQ{y…
0070 - 0c 12 d5 33 d5 fe 05 fd-c8 c4 84 d5 1c ff 12 75 …3…u
0080 - 68 5f 44 90 a6 d0 6b 7f-72 c6 29 38 63 ad bb 18 h_D…k.r.)8c…
0090 - d2 41 a2 56 4d a5 ac 34-96 e7 4a a8 3f 0a af 16 .A.VM…4…J.?..
00a0 - 3d bd d4 5a bd b8 d1 53-18 8b d9 cb a8 9e 2b 5f =…Z…S…+_
00b0 - 24 19 35 ec db f7 3e 1a-98 8e 63 ea 8c 9b 09 00 $.5…>…c…
00c0 - 06 b8 46 05 31 99 60 04-5c 81 5c 43 48 81 d0 e3 …F.1.`..\CH…

Start Time: 1730306279
Timeout   : 7200 (sec)
Verify return code: 0 (ok)
Extended master secret: no
Max Early Data: 0

read R BLOCK

Post-Handshake New Session Ticket arrived:
SSL-Session:
Protocol : TLSv1.3
Cipher : TLS_AES_256_GCM_SHA384
Session-ID: 9A2B0178AC57EECEC16D6964E64C530AACF2EF88435C1C36B917435FD507156D
Session-ID-ctx:
Resumption PSK: B02B35B8EC085D2499CA96AACB99436720F2BEA57AE6CD9AB4C1747D82A1E4947E4CADC8FBBE2451F159D91491DD8FE5
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 7200 (seconds)
TLS session ticket:
0000 - 18 32 7e c7 06 39 37 c7-26 d5 30 6f b2 29 24 f1 .2~…97.&.0o.)$.
0010 - 6b 98 21 43 67 76 bf f2-d2 21 1c 7a 19 81 ad 67 k.!Cgv…!.z…g
0020 - c6 7a c8 e1 82 17 e5 be-86 08 f2 2b ff c3 f8 41 .z…+…A
0030 - 9b a7 ae 85 f0 2b 10 ba-0e 64 e7 98 43 d1 44 1e …+…d…C.D.
0040 - 7b f5 24 83 2e 66 24 47-e2 08 5e ef 59 b4 ee 23 {.$…f$G…^.Y…#
0050 - 9e a9 30 2b 4c d0 cf c5-be f8 d3 bb ab 48 47 06 …0+L…HG.
0060 - 71 a4 0a 84 3a e5 3f 34-e1 9c 71 65 fd 3e 91 76 q…:.?4…qe.>.v
0070 - 4c cc 5d 83 c4 27 0e f0-0f ed 41 79 45 cc cd a9 L.]…'…AyE…
0080 - f0 ec fd 06 bb cd 36 ef-9e 03 d8 b8 bc 92 2a 79 …6…*y
0090 - 4d 07 f5 78 8f b5 67 5d-1a fd b3 07 b4 c0 e3 28 M…x…g]…(
00a0 - 72 91 d2 05 fb 2f fe 52-28 f8 48 6d c5 94 cf cb r…/.R(.Hm…
00b0 - 70 60 c8 92 c3 29 b5 74-76 cb 3d 0a 94 21 7c 27 p...).tv.=..!|' 00c0 - ad 18 46 ce 97 b6 60 1f-9a 12 7e 0b e1 fe b3 40 ..F...…~…@

Start Time: 1730306279
Timeout   : 7200 (sec)
Verify return code: 0 (ok)
Extended master secret: no
Max Early Data: 0

read R BLOCK

Bah maintenant … marche pô mieux : « ssl.SSLError : SSLV3_ALERT_CERTIFICATE_UNKNOWN » - Mais qu’est-ce qu’il me veut encore le bouzin ?

J’ai essayé, ça semblait fonctionner pourtant.

http://www.minipavi.fr/emulminitel/indexws.php?url=wss%3A%2F%2Fhome.teletel.org%3A9001

Jusqu’à 18h59, ou plus rien ne réponds (peut-être as-tu relancé un truc ?).
EDIT: là ca remarche. Que ce soit depuis une page html SSL ou non.

Oui - je t’ai vu/laissé passer (rima-tde.net et ENQ == EmU !) - Suis passé en mode debug mais, nada, rien de compréhensible.

Il y aurait problème sur mon ‹ client › (en prime ?) hum - je doute, mais probable puisqu’il n’y a ‹ plus › de problème. Je vire le mode debug et pause miam !

==> Bah ouhais, bon, là, on passe par « l’extérieur » … quoique non ?

En tout cas, si soucis il y’a, il semble que ce ne soit pas un soucis de ton certificat.
Bon, allez, moi aussi j’ai une sauce à faire pour le diner !

Le certificat est OK, l’accès « extérieur » (home.teletel.org / IP fixe) est OK, même avec « mon » client.

L’accès « interne » (192.168.168.40) est KO … Le certificat ne doit pas aimer l’@IP. En prime, avec le jeu des cache, un coup ça marche, un coup pas !

Ceci dit, SSLS, m’a plutôt bien simplifié la vie, même si le simple fait d’avoir des certificats pour ce truc reste un non-sens. Merci du test, j’en perdais mon latin (qui a un niveau assez moyen d’ailleurs).

… et au passage, je viens de voir que mon reverse DNS n’est pas bon.

1 « J'aime »

Dans la série « les certificats sont là pour vous pourrir la vie » :

pi@raspberrypi:~/python/PyMoIP $ openssl s_client go.minipavi.fr:8181
CONNECTED(00000003)
depth=0 CN = go.minipavi.fr
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 CN = go.minipavi.fr
verify error:num=21:unable to verify the first certificate
verify return:1
depth=0 CN = go.minipavi.fr
verify return:1

Certificate chain
0 s:CN = go.minipavi.fr
i:C = GB, ST = Greater Manchester, L = Salford, O = Sectigo Limited, CN = Sectigo RSA Domain Validation Secure Server CA

Server certificate
-----BEGIN CERTIFICATE-----
MIIGOTCCBSGgAwIBAgIQULyXBwPJ2k+e6sx9v55SmzANBgkqhkiG9w0BAQsFADCB
jzELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
A1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTcwNQYDVQQD
Ey5TZWN0aWdvIFJTQSBEb21haW4gVmFsaWRhdGlvbiBTZWN1cmUgU2VydmVyIENB
MB4XDTI0MDgyMDAwMDAwMFoXDTI1MDgyMDIzNTk1OVowGTEXMBUGA1UEAxMOZ28u
bWluaXBhdmkuZnIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDCkG4t
ndzD9ME/7DTVqgsZKxXkNYWM/NQlTA3/AFqcHSVw1koadjfHHwiIno27lgQLOuXP
p7rbYRx07YxdtmyFh69OMVQ4eCiPUYbctNRSDA+fzFBSLwe144401D67s8EQSXCM
PaqnUPogCJhojLpCoedabe+35fjpJzFepLyZ773qk6ftl+WVKqFf9l2VY1Tb/xhr
ptmWBJPPiKODJJCRUkTbL/z9JJAbsjQOxgNbwXgdOOWzOUBS2vKFtZT4QLzgtFzN
PpC01FitI7PSqymBmIe5U9/5WGonCuIICDHTDrNQtZt9sM98I2m2aUqHV4fTEPru
ssMSCutFW3+HETtbAgMBAAGjggMEMIIDADAfBgNVHSMEGDAWgBSNjF7EVK2K4Xfp
m/mbBeG4AY1h4TAdBgNVHQ4EFgQUT5qOfMxl6OYgKMz/BAmNBuTuBJswDgYDVR0P
AQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsG
AQUFBwMCMEkGA1UdIARCMEAwNAYLKwYBBAGyMQECAgcwJTAjBggrBgEFBQcCARYX
aHR0cHM6Ly9zZWN0aWdvLmNvbS9DUFMwCAYGZ4EMAQIBMIGEBggrBgEFBQcBAQR4
MHYwTwYIKwYBBQUHMAKGQ2h0dHA6Ly9jcnQuc2VjdGlnby5jb20vU2VjdGlnb1JT
QURvbWFpblZhbGlkYXRpb25TZWN1cmVTZXJ2ZXJDQS5jcnQwIwYIKwYBBQUHMAGG
F2h0dHA6Ly9vY3NwLnNlY3RpZ28uY29tMC0GA1UdEQQmMCSCDmdvLm1pbmlwYXZp
LmZyghJ3d3cuZ28ubWluaXBhdmkuZnIwggF+BgorBgEEAdZ5AgQCBIIBbgSCAWoB
aAB2AN3cyjSV1+EWBeeVMvrHn/g9HFDf2wA6FBJ2Ciysu8gqAAABkW/F+8UAAAQD
AEcwRQIhAKfMkWa1A4dTeNP7WBf8w6oZJIQgIA3EGqZF+IIaYIWBAiADlNu2B0TX
taqEa6D4zASSn2AGkjlZ+1/5CWW88LWj3QB2AA3h8jAr0w3BQGISCepVLvxHdHyx
1+kw7w5CHrR+Tqo0AAABkW/F+6IAAAQDAEcwRQIgVnFU0pdUvFw21l/mzYNXpFDb
DCdHO0hh+idVQ7bG66sCIQDp8awUSnh6GtlTkyOxVkeqoyX/8dI3bR6YzWxA3r5f
kQB2ABLxTjS9U3JMhAYZw48/ehP457Vih4icbTAFhOvlhiY6AAABkW/F+6IAAAQD
AEcwRQIhALVv9JPbmiQ2W4a2HYP5c7li796Xw61BtR4b3mj5ySDFAiBT1SVdqyjO
gOdlr9jMlFt7Kw4dnCTiYa6AnHCzmCJzLjANBgkqhkiG9w0BAQsFAAOCAQEAM0pz
GgDiHngkiTy3cspIsNQsEIZiU9ZNLCvjRXciKn5tWWS/88p1jwjdJXPCg0+REdVz
WSB/niT6U/Wn2g3gvGRPUUl6QcpvpFDJNNm9ZSWrXdeMl8VtZeC6CgxDfZdSkhiu
9vhajKKtGlql3p1gk0VQEv4AwxpmjRXZPNSqEJimOhzI3NaKyUXUoBuKdh4bb3NQ
2roJFzzCA6mqu1kXEUxt6EGBW26zccJFqWzVxVx7eshPhsmqvRmbDQEBI0GqubF+
8VIE5O2XCSTVPVgUKWx+bBT3jhAdnSArJMqJG/+EkabnpY/j/c7gJ9C8836OQYYm
X0yiuMehOYLvjCvHBg==
-----END CERTIFICATE-----
subject=CN = go.minipavi.fr

issuer=C = GB, ST = Greater Manchester, L = Salford, O = Sectigo Limited, CN = Sectigo RSA Domain Validation Secure Server CA


No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits

SSL handshake has read 2153 bytes and written 386 bytes
Verification error: unable to verify the first certificate

New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 21 (unable to verify the first certificate)


Post-Handshake New Session Ticket arrived:
SSL-Session:
Protocol : TLSv1.3
Cipher : TLS_AES_256_GCM_SHA384
Session-ID: 1D5D69E3340E252B611903D7129535A5994DCE99786A159C3FFB7225734DFBBB
Session-ID-ctx:
Resumption PSK: 7C42FEB3BF6C4777D7A1E22D862F60839D6D82CD105E8D71CA00A2ADDA9F61DC41DEEF9EE2A411C44E01DAC63C5D23F8
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 7200 (seconds)
TLS session ticket:
0000 - ad 8b 61 68 0b bd 42 01-f7 56 e4 e1 12 f4 bb 19 …ah…B…V…
0010 - cd d6 1a 79 6f 4c 1b ed-e8 24 34 65 33 f3 ef 6a …yoL…$4e3…j
0020 - 67 e1 a0 95 05 a7 0e 3d-44 17 0f 92 f9 c6 fb 84 g…=D…
0030 - 1a e2 3d a9 89 cf 40 df-e8 91 87 74 05 5a 1a b2 …=…@…t.Z…
0040 - 2b 46 ec 41 9f 69 5b 83-25 94 91 50 74 b5 9c c3 +F.A.i[.%…Pt…
0050 - 00 53 ed 2e f7 da c1 11-57 f6 00 c7 23 fa c3 9f .S…W…#…
0060 - f1 29 f2 7c d1 d6 cd 78-55 da c6 53 c6 02 b6 ac .).|…xU…S…
0070 - 3e 47 ef 6e 08 a3 e5 cf-0a 9b a3 21 77 98 d0 5c >G.n…!w…
0080 - 59 90 d2 6b d5 8d 31 95-29 0b 37 0e 2a 45 c2 c3 Y…k…1.).7.*E…
0090 - 66 27 ed 5b b9 7c cd 54-3b 74 5c d4 94 8b 0c 8e f’.[.|.T;t.…
00a0 - ad 2e de ea 61 18 88 0b-7a 18 d3 9f 14 35 42 66 …a…z…5Bf
00b0 - 8b de e1 8e 8a e0 c0 9a-3a 98 67 e8 db 2b 0a 48 …:.g…+.H

Start Time: 1730365912
Timeout   : 7200 (sec)
Verify return code: 21 (unable to verify the first certificate)
Extended master secret: no
Max Early Data: 0

read R BLOCK

Post-Handshake New Session Ticket arrived:
SSL-Session:
Protocol : TLSv1.3
Cipher : TLS_AES_256_GCM_SHA384
Session-ID: 7BEF4CC4952B96047DA4BAA2ED6D0896B192AAC53F8FBE94623DAD6935412D83
Session-ID-ctx:
Resumption PSK: 8170CDF76F44BCE390668ADACA62EAB8373547033C7520C890A371D8F0A84FE637798499A12FCABCD0D2005F66297A56
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 7200 (seconds)
TLS session ticket:
0000 - ad 8b 61 68 0b bd 42 01-f7 56 e4 e1 12 f4 bb 19 …ah…B…V…
0010 - da 64 53 95 57 b7 e1 6c-31 67 ca 9f 4a f2 0a 40 .dS.W…l1g…J…@
0020 - 94 47 e9 32 d5 dd 3c 76-8f 89 0a 2e 06 f1 3b 71 .G.2…<v…;q
0030 - d0 1e 2d bc 2e 14 74 4b-cb cc 0d ec 03 9d 4b 0e …-…tK…K.
0040 - b0 cb 6e 8f 6d 00 ae d5-bd 92 38 96 3c 9f 8c d4 …n.m…8.<…
0050 - cb 0c 19 03 28 73 10 70-23 19 f6 dd f2 1f 17 42 …(s.p#…B
0060 - cc 0c b9 78 08 44 9d 2d-6d 9b e9 e9 fa ca 7f 3a …x.D.-m…:
0070 - 46 f1 dc 33 f8 7e 6e 19-88 1b 5b 18 2f 29 9b 80 F…3.~n…[./)…
0080 - 05 f5 84 7e 52 c7 33 75-39 50 ce 77 6f 65 fc 43 …~R.3u9P.woe.C
0090 - 7d ec e1 38 80 ce f2 d3-ab 4d 93 ae 63 9d d2 46 }…8…M…c…F
00a0 - c8 d7 64 05 b3 ca d2 94-68 dd b5 5f b2 f5 d0 70 …d…h…_…p
00b0 - 67 41 82 ac 69 1f c0 c8-0b 26 d1 bf 48 0c bd 0d gA…i…&…H…

Start Time: 1730365912
Timeout   : 7200 (sec)
Verify return code: 21 (unable to verify the first certificate)
Extended master secret: no
Max Early Data: 0

read R BLOCK
closed

@Ludojoey
J’étais en train d’implémenter le lien PyMoIP ==> MiniPavi (en retard de 6 mois sur mes plans) … Alors, soit je n’ai rien compris aux certificats, soit il y a un pb sur ton implémentation [aurais tu oublié de concaténer ta clé publique avec le CA-BUNDLE ?].

[Et du coup, par quel miracle est-ce que ça marche … C’est une autre question !]