Estoy creando una aplicación con una arquitectura cliente-servidor usando SSL a través de TCP. Los clientes pueden autorizarse en el servidor mediante inicio de sesión y contraseña y convertirse en usuarios. Solo los usuarios pueden realizar acciones con sus cuentas. Los clientes no autorizados solo pueden autorizarse ellos mismos.
Ahora los clientes solo usan mi aplicación cliente usando mi servidor, pero creo que estará bien si alguien usa una aplicación de terceros.
Como entendí, ahora solo mi servidor se autoriza para cada cliente, para que cada cliente sepa que este es un servidor real. Comando de prueba del servidor:
openssl s_server -key server.key -cert server.crt -accept 1678
En el lado del cliente solo tengo el certificado .der
.
Entonces, las preguntas:
- ¿Es correcto este entendimiento?
- ¿También necesito claves del lado del cliente para las autorizaciones de los clientes en el servidor, o esto es suficiente para la arquitectura descrita?
- ¿Necesito un certificado de CA o un certificado autofirmado será el mismo?