No se ha podido conectar con autofirma

No se ha podido conectar con autofirma

Descarga de fixsts.sh

Por defecto, todas las versiones de Windows de 64 bits, a partir de Windows 7, prohíben instalar controladores de dispositivos que no estén firmados con una firma digital válida. Los controladores no firmados son bloqueados por el sistema operativo. La firma digital garantiza (hasta cierto punto) que el controlador ha sido publicado por un determinado desarrollador o proveedor, y su código no ha sido modificado después de ser firmado.
En Windows 10, 8.1 y 7 de 64 bits (x64) hay varias formas de desactivar la verificación de la firma de los controladores no firmados: mediante una política de grupo o un modo de arranque de prueba. Hoy vamos a mostrar cómo firmar cualquier controlador sin firmar para la versión de 64 bits de Windows 10 o Windows 7.
Supongamos que tiene un determinado controlador de dispositivo sin firmar (sin firma digital) para Windows 10 x64 o Windows 7 x64. En este ejemplo, se trata del controlador para una tarjeta gráfica bastante antigua. El archivo con los controladores para su versión de Windows se ha descargado desde el sitio web del proveedor (pude encontrar la versión del controlador de vídeo para Windows Vista x64) y su contenido se ha extraído a c:\tools\drv1\. Intentemos instalar el controlador añadiéndolo al almacén de controladores de Windows con una herramienta estándar pnputil:

Java confía en el certificado autofirmado

Se ha establecido con éxito una conexión con el servidor, pero luego se ha producido un error durante el proceso de inicio de sesión. (proveedor: Proveedor SSL, error: 0 – La cadena de certificados fue emitida por una autoridad que no es de confianza). (.Net SqlClient Data Provider)
El certificado recibido del servidor remoto fue emitido por una autoridad de certificación que no es de confianza. Debido a esto, ninguno de los datos contenidos en el certificado puede ser validado. La solicitud de conexión TLS ha fallado. Los datos adjuntos contienen el certificado del servidor.
Al establecer conexiones cifradas con SQL Server, Secure Channel (Schannel) crea la lista de autoridades de certificación de confianza buscando en el almacén de autoridades de certificación raíz de confianza del equipo local. Durante el handshake TLS, el servidor envía su certificado de clave pública al cliente. El emisor de un certificado de clave pública se conoce como Autoridad de Certificación (CA). El cliente tiene que asegurarse de que la autoridad de certificación es de su confianza. Esto se consigue conociendo de antemano la clave pública de las CAs de confianza. Cuando Schannel detecta un certificado emitido por una autoridad de certificación que no es de confianza, como en los dos casos anteriores, se obtiene el mensaje de error indicado en la sección Síntomas.

El certificado autofirmado de java permite

Mi problema era que no había convertido mi certificado autofirmado en una CA. Sólo estaba configurado para actuar como un certificado de servidor web. Que es todo lo que quería hacer con él y no iba a usarlo como CA para firmar otros certificados.
No es válido tener una cadena de confianza que incluya un certificado autofirmado. Si ese fuera el caso, cualquiera podría proporcionar una cadena de confianza (inventada) válida. Si un certificado autofirmado aparece en una cadena de confianza, debe ser ignorado. Un certificado autofirmado sólo puede ser válido en un directorio local (controlado por el propietario del ordenador). El certificado dado a cualquier servidor debe estar encadenado al certificado autofirmado.

Java confiar en todos los certificados de línea de comandos

La solución de CoolAJ86 es correcta y no compromete su seguridad como la de desactivar todas las comprobaciones mediante rejectUnauthorized o NODE_TLS_REJECT_UNAUTHORIZED. Aun así, puede que necesites inyectar un certificado de CA adicional explícitamente.
Todavía terminé con el error UNABLE_TO_VERIFY_LEAF_SIGNATURE. Entonces averigüé quién emitió el certificado para el sitio web al que me estaba conectando mediante el COMODO SSL Analyzer, descargué el certificado de esa autoridad e intenté añadir sólo ese:
Las otras respuestas son correctas en el sentido de que el problema radica en el hecho de que tu cert está “firmado por una CA intermediaria”. Hay una solución fácil para esto, una que no requiere una biblioteca de terceros como ssl-root-cas o inyectar cualquier CA adicional en node.
La mayoría de los clientes https en node soportan opciones que permiten especificar una CA por petición, lo que resolverá UNABLE_TO_VERIFY_LEAF_SIGNATURE. Aquí hay un ejemplo simple usando el módulo https incorporado en node.
Sin embargo, si puede configurar los ajustes ssl en su servidor de alojamiento, la mejor solución sería añadir los certificados intermedios a su proveedor de alojamiento. De esta manera el cliente solicitante no necesita especificar una CA, ya que está incluida en el propio servidor. Yo personalmente uso namecheap + heroku. El truco para mí fue crear un archivo .crt con cat yourcertificate.crt bundle.ca-bundle > server.crt. Luego abrí este archivo y añadí una nueva línea después del primer certificado. Puedes leer más en

Acerca del autor

admin

Ver todos los artículos