code: async def verify_credentials(self):
          
          _, public_key = self.srp.initialize()
  
          msg = messages.crypto_pairing({
              tlv8.TLV_SEQ_NO: b'\x01',
              tlv8.TLV_PUBLIC_KEY: public_key})
          resp = await self.protocol.send_and_receive(
              msg, generate_identifier=False)
  
          resp = _get_pairing_data(resp)
          session_pub_key = resp[tlv8.TLV_PUBLIC_KEY]
          encrypted = resp[tlv8.TLV_ENCRYPTED_DATA]
          log_binary(_LOGGER,
                     'Device',
                     Public=self.credentials.ltpk,
                     Encrypted=encrypted)
  
          encrypted_data = self.srp.verify1(
              self.credentials, session_pub_key, encrypted)
          msg = messages.crypto_pairing({
              tlv8.TLV_SEQ_NO: b'\x03',
              tlv8.TLV_ENCRYPTED_DATA: encrypted_data})
          resp = await self.protocol.send_and_receive(
              msg, generate_identifier=False)
  
          # TODO: check status code
  
          self._output_key, self._input_key = self.srp.verify2()
docs: Verify credentials with device.