

import net
import tls
main:
    tx := #[
        192, 0, 35, 48, 0, 66, 50, 50, 50, 66, 66, 66, 66, 66, 66, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 192
    ]
    net := net.open
    sock := net.tcp-connect "192.168.0.3" 51200
    klf := tls.Socket.client sock 
    print "connected"
    klf.out.write tx // this call fails!
    resp := klf.in.read-bytes 8
    print "RXED: $resp"
    klf.close[jaguar] INFO: program f7e0b56b-55f2-5b0a-8e13-fcb04c8802a5 started
connected
******************************************************************************
Decoding by `jag`, device has version <2.0.0-alpha.174>
******************************************************************************
EXCEPTION error. 
Unknown root certificate: 'C=DK, O=VELUX A/S'
Certificate error 0x0008: 'C=DK, O=VELUX A/S'
NOT_TRUSTED
  0: tls-error_                <sdk>/tls/session.toit:1147:3
  1: Session.handshake_        <sdk>/tls/session.toit:338:9
  2: Session.handshake.<block> <sdk>/tls/session.toit:277:7
  3: Session.handshake         <sdk>/tls/session.toit:223:3
  4: Session.ensure-handshaken_ <sdk>/tls/session.toit:462:5
  5: Session.write             <sdk>/tls/session.toit:399:5
  6: Socket.try-write_         <sdk>/tls/socket.toit:122:21
  7: CloseableOut_.try-write_  <sdk>/io/writer.toit:346:19
  8: Writer.try-write          <sdk>/io/writer.toit:110:16
  9: Writer.write              <sdk>/io/writer.toit:51:14
 10: main                      hello.toit:14:13
******************************************************************************
[jaguar] ERROR: program f7e0b56b-55f2-5b0a-8e13-fcb04c8802a5 stopped - exit code 1

openssl s_client -connect 192.168.0.3:51200ONNECTED(00000003)
Can't use SSL_get_servername
depth=0 C = DK, O = VELUX A/S
verify error:num=18:self-signed certificate
verify return:1
depth=0 C = DK, O = VELUX A/S
verify return:1
---
Certificate chain
 0 s:C = DK, O = VELUX A/S
   i:C = DK, O = VELUX A/S
   a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
   v:NotBefore: Apr 25 09:38:26 2018 GMT; NotAfter: Jul 12 09:38:26 2026 GMT
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIDFTCCAf2gAwIBAgIJAJq77rG+ZPdkMA0GCSqGSIb3DQEBCwUAMCExCzAJBgNV
BAYTAkRLMRIwEAYDVQQKDAlWRUxVWCBBL1MwHhcNMTgwNDI1MDkzODI2WhcNMjYw
NzEyMDkzODI2WjAhMQswCQYDVQQGEwJESzESMBAGA1UECgwJVkVMVVggQS9TMIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAruJCr/hGF2Vy7h34bZrEs7Te
iGoAEUagvxjxxQ60pXJFwfFmTUwoU10iOyvWf5Ih+UuuJkTKExiQSy5aVxv6TDNq
BxVkAKke+2sqsU49WAPR5xXOv1P2RlCyFAUSZh54XqmA3We/gcqF7DB3L84noXD4
2ga+qdDHqtK9q6Loeh+nCupt9LmXMgEudVS6MSm6DsQfypoO0GgPpblUKXvVIqBi
ap/FlgDUu/QxV+kKtfxNqT6R6FgYHvAaho7KX7ajvNWAR/49VWwwABw9Mne/UGq4
NBF5AAI/kqVFJRHRd8hpP/RX3x6DehRrrabE83Cec7igR/D6WOcSR+4BQHQwjwID
AQABo1AwTjAdBgNVHQ4EFgQU3tvHdagNdZed6UVmjl9gaC9impQwHwYDVR0jBBgw
FoAU3tvHdagNdZed6UVmjl9gaC9impQwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0B
AQsFAAOCAQEAJYbMGC4T7eH7+eEWDuAduByKJKrfHO9zy+dKRnBM+dADiakWiJ7c
tzwxoWDpH5YPW+KhyUQq+LjotiorMcZlKU/eyfaaaPipd9okc0W23pdnFVZZCVBu
EWwh7Jf9CKg4QpUHl09qr00NHMOVvy2ytUVL+t9mTNCk/YQHen+OkVNAjdtULzr5
dRJpLQXUhTbGbHVqw5X9knxAC9ITOZt6aJNkScV8TL90CzZWOodh5+6AXqywCQMF
3GgH+AaFvwChQ/6O35La5UYzLbcEAHjIWkA31XMybdejZYW3Bzk2oVAPgnOAMgS2
L6owZzkax0jWlxC1CsnbdC32LCdxj4TiUg==
-----END CERTIFICATE-----
subject=C = DK, O = VELUX A/S
issuer=C = DK, O = VELUX A/S
---
No client certificate CA names sent
Peer signing digest: SHA512
Peer signature type: RSA
Server Temp Key: DH, 2048 bits
---
SSL handshake has read 2043 bytes and written 651 bytes
Verification error: self-signed certificate
---
New, TLSv1.2, Cipher is DHE-RSA-AES256-SHA256
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : DHE-RSA-AES256-SHA256
    Session-ID: 5F603931DA2A3D715BA80549CD906E4E78313A42E7A622380CFBC603E74B0118
    Session-ID-ctx: 
    Master-Key: 8C21909C1912F2D15A05D02034D554E2A9B8C84D1D398F95562A707D7584CE890B368F2E26D51C2562991970DFF66CDB
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1738441694
    Timeout   : 7200 (sec)
    Verify return code: 18 (self-signed certificate)
    Extended master secret: no
---
cert := """
    -----BEGIN CERTIFICATE-----
    MIIDFTCCAf2gAwIBAgIJAJq77rG+ZPdkMA0GCSqGSIb3DQEBCwUAMCExCzAJBgNV
    BAYTAkRLMRIwEAYDVQQKDAlWRUxVWCBBL1MwHhcNMTgwNDI1MDkzODI2WhcNMjYw
    NzEyMDkzODI2WjAhMQswCQYDVQQGEwJESzESMBAGA1UECgwJVkVMVVggQS9TMIIB
    IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAruJCr/hGF2Vy7h34bZrEs7Te
    iGoAEUagvxjxxQ60pXJFwfFmTUwoU10iOyvWf5Ih+UuuJkTKExiQSy5aVxv6TDNq
    BxVkAKke+2sqsU49WAPR5xXOv1P2RlCyFAUSZh54XqmA3We/gcqF7DB3L84noXD4
    2ga+qdDHqtK9q6Loeh+nCupt9LmXMgEudVS6MSm6DsQfypoO0GgPpblUKXvVIqBi
    ap/FlgDUu/QxV+kKtfxNqT6R6FgYHvAaho7KX7ajvNWAR/49VWwwABw9Mne/UGq4
    NBF5AAI/kqVFJRHRd8hpP/RX3x6DehRrrabE83Cec7igR/D6WOcSR+4BQHQwjwID
    AQABo1AwTjAdBgNVHQ4EFgQU3tvHdagNdZed6UVmjl9gaC9impQwHwYDVR0jBBgw
    FoAU3tvHdagNdZed6UVmjl9gaC9impQwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0B
    AQsFAAOCAQEAJYbMGC4T7eH7+eEWDuAduByKJKrfHO9zy+dKRnBM+dADiakWiJ7c
    tzwxoWDpH5YPW+KhyUQq+LjotiorMcZlKU/eyfaaaPipd9okc0W23pdnFVZZCVBu
    EWwh7Jf9CKg4QpUHl09qr00NHMOVvy2ytUVL+t9mTNCk/YQHen+OkVNAjdtULzr5
    dRJpLQXUhTbGbHVqw5X9knxAC9ITOZt6aJNkScV8TL90CzZWOodh5+6AXqywCQMF
    3GgH+AaFvwChQ/6O35La5UYzLbcEAHjIWkA31XMybdejZYW3Bzk2oVAPgnOAMgS2
    L6owZzkax0jWlxC1CsnbdC32LCdxj4TiUg==
    -----END CERTIFICATE-----
    """
cert
import tls
main:
  my-root := tls.RootCertificate CERT  // Where 'CERT' is your "cert".
  my-root.install






klf.closesock.closeklf.close
sock.close
klf floitsch
floitsch
klf := tls.Socket.client sock

 floitsch
floitsch
https://libs.toit.io/tls/library-summary
 OPwoody
OPwoody

import http
import net
import tls
import certificate-roots
import encoding.json
import .secrets
URL ::= "eapi.pcloud.com"
PATH ::= "userinfo?getauth=1&logout=1&username=$USER&password=$PASS" // encoded mit https://www.utilities-online.info/urlencode
main:
  certificate-roots.install-common-trusted-roots
  network := net.open
  client := http.Client.tls network
  response := client.get URL PATH 
  print response.body
  client.closeEXCEPTION error. 
Unknown root certificate: 'C=CH, O=SwissSign AG, CN=SwissSign Gold CA - G2'
Certificate error 0x0008: 'C=CH, O=SwissSign AG, CN=SwissSign RSA TLS Root CA 2022 - 1'
NOT_TRUSTED
  0: tls-error_                <sdk>/tls/session.toit:1147:3
  1: Session.handshake_        <sdk>/tls/session.toit:338:9
  2: Session.handshake.<block> <sdk>/tls/session.toit:277:7
  3: Session.handshake         <sdk>/tls/session.toit:223:3
  4: Socket.handshake          <sdk>/tls/socket.toit:69:14
  5: Client.try-to-reuse_.<block>.<block> <pkg:pkg-http>/client.toit:652:24
  6: catch.<block>             <sdk>/core/exceptions.toit:124:10
  7: catch                     <sdk>/core/exceptions.toit:122:1
  8: catch                     <sdk>/core/exceptions.toit:85:10
  9: Client.try-to-reuse_.<block> <pkg:pkg-http>/client.toit:647:9
 10: Client.try-to-reuse_      <pkg:pkg-http>/client.toit:635:3
 11: Client.get_.<block>       <pkg:pkg-http>/client.toit:305:7
 12: SmallInteger_.repeat      <sdk>/core/numbers.toit:1277:3
 13: Client.get_               <pkg:pkg-http>/client.toit:303:19
 14: Client.get                <pkg:pkg-http>/client.toit:300:12
 15: main                      pcloud.toit:17:22
 OPwoody
OPwoody
install-all...








jag flash esp32-spiram






 OPwoody
OPwoody















ticks_to_wait
read-alertread
can_receive




As you may find a good new is a new twai driver is coming, although it already long long ago, but it is now has initially version, believe it will avaiable soon.

 OPwoody
OPwoody
 OPwoody
OPwoodyhttps://libs.toit.io/tls/library-summary
