

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Demostración de cliente de echo de sockets seguros
<a name="secure-sockets-demo"></a>

**importante**  <a name="deprecation-message-demo"></a>
Esta demostración está alojada en el repositorio de Amazon-FreeRTOS, que está en desuso. Recomendamos [empezar por aquí](freertos-getting-started-modular.md) al crear un nuevo proyecto. Si ya tiene un proyecto FreeRTOS existente basado en el repositorio Amazon FreeRTOS, ahora obsoleto, consulte [Guía de migración del repositorio Github de Amazon-FreeRTOS](github-repo-migration.md).

En el ejemplo siguiente, se utiliza una sola tarea de RTOS. El código fuente para este ejemplo se encuentran en `demos/tcp/aws_tcp_echo_client_single_task.c`.

Antes de comenzar, compruebe que ha descargado FreeRTOS en su microcontrolador y que ha creado y ejecutado los proyectos de demostración de FreeRTOS. Puede clonar o descargar FreeRTOS desde [GitHub](https://github.com/aws/amazon-freertos). Consulte el archivo [README.md](https://github.com/aws/amazon-freertos/blob/main/README.md) para obtener instrucciones. 

**Ejecución de la demostración**

**nota**  
Para configurar y ejecutar las demostraciones de FreeRTOS, siga los pasos que se indican en [Introducción a FreeRTOS](freertos-getting-started.md).  
Las demostraciones de servidor TCP y cliente no se admiten actualmente en los kits de desarrollo Cypress CYW943907AEVAL1F y CYW954907AEVAL1F.

1. Siga las instrucciones que se indican en [Configuración del servidor Echo de TLS](https://docs.aws.amazon.com/freertos/latest/portingguide/tls-echo-server.html) en la Guía de portabilidad de FreeRTOS.

   Un servidor de eco TLS debe estar en ejecución y a la escucha en el puerto 9000.

   Durante la configuración, debería haber generado cuatro archivos:
   + `client.pem` (certificado de cliente)
   + `client.key`(clave privada de cliente)
   + `server.pem` (certificado de servidor)
   + `server.key` (clave privada de servidor)

1. Utilice la herramienta `tools/certificate_configuration/CertificateConfigurator.html` para copiar el certificado de cliente (`client.pem`) y la clave privada de cliente (`client.key`) en `aws_clientcredential_keys.h`.

1. Abra el archivo `FreeRTOSConfig.h`.

1. Establezca las variables `configECHO_SERVER_ADDR0`, `configECHO_SERVER_ADDR1`, `configECHO_SERVER_ADDR2`, y `configECHO_SERVER_ADDR3` para los cuatro números enteros que componen la dirección IP donde se está ejecutando TLS Echo Server.

1. Establezca la variable `configTCP_ECHO_CLIENT_PORT` en `9000`, el puerto en el que TLS Echo Server está escuchando.

1. Establezca la variable `configTCP_ECHO_TASKS_SINGLE_TASK_TLS_ENABLED` en `1`.

1. Utilice la herramienta `tools/certificate_configuration/PEMfileToCString.html` para copiar el certificado de servidor (`server.pem`) en `cTlsECHO_SERVER_CERTIFICATE_PEM` en el archivo `aws_tcp_echo_client_single_task.c`.

1. Abra `freertos/vendors/vendor/boards/board/aws_demos/config_files/aws_demo_config.h`, comente `#define CONFIG_CORE_MQTT_MUTUAL_AUTH_DEMO_ENABLED` y defina `CONFIG_OTA_MQTT_UPDATE_DEMO_ENABLED` o `CONFIG_OTA_HTTP_UPDATE_DEMO_ENABLED`.

El microcontrolador y el TLS Echo Server deben estar en la misma red. Cuando se inicia la demostración (`main.c`), debería ver un mensaje de registro que indica `Received correct string from echo server`.