code: def compute_tls13_traffic_secrets(self):
          
          hkdf = self.prcs.hkdf
  
          self.tls13_master_secret = hkdf.extract(self.tls13_handshake_secret,
                                                  None)
  
          cts0 = hkdf.derive_secret(self.tls13_master_secret,
                                    b"client application traffic secret",
                                    b"".join(self.handshake_messages))
          self.tls13_derived_secrets["client_traffic_secrets"] = [cts0]
  
          sts0 = hkdf.derive_secret(self.tls13_master_secret,
                                    b"server application traffic secret",
                                    b"".join(self.handshake_messages))
          self.tls13_derived_secrets["server_traffic_secrets"] = [sts0]
  
          es = hkdf.derive_secret(self.tls13_master_secret,
                                  b"exporter master secret",
                                  b"".join(self.handshake_messages))
          self.tls13_derived_secrets["exporter_secret"] = es
  
          if self.connection_end == "server":
              # self.prcs.tls13_derive_keys(cts0)
              self.pwcs.tls13_derive_keys(sts0)
          elif self.connection_end == "client":
              # self.pwcs.tls13_derive_keys(cts0)
              self.prcs.tls13_derive_keys(sts0)
docs: Ciphers key and IV are updated accordingly for Application data.
          self.handshake_messages should be ClientHello...ServerFinished.