Trabajo como probador en una compañía de software de VoIP. Hemos tenido problemas con el uso de TLS para comunicarnos con ciertos teléfonos. Los teléfonos son de diferentes fabricantes pero ambos presentan el mismo problema. Para resumir lo más sucintamente posible, el teléfono rechaza el certificado provisto durante el protocolo de enlace SSL con "CA desconocido".
Los teléfonos usan versiones de OpenSSL en su firmware, pero no sé qué versión.
He verificado de todas las formas posibles que el certificado de CA de confianza proporcionado al teléfono durante el aprovisionamiento y el certificado que se proporcionó al teléfono durante el protocolo de enlace son los mismos y coinciden. Todo DEBE ser dorado, sin embargo no lo es.
Lo que he encontrado es que en un sistema donde todo funciona correctamente, el certificado CA proporcionado tiene un número de serie de 10 dígitos y en el sistema donde todo no funciona, el certificado CA tiene un número de serie de 12 dígitos.
Parece una cosa tan arbitraria como la causa del rechazo del certificado, pero esa es, literalmente, la ÚNICA diferencia que puedo encontrar al comparar los sistemas que funcionan y los que no funcionan y sus certificados.
¿Esto suena como algo que alguien ha escuchado antes? ¿Me estoy volviendo loco? Cualquier y toda ayuda apreciada.
--Editar-- Nuestro PBX usa un certificado CA autofirmado de forma predeterminada. A continuación, utiliza ese certificado para firmar un certificado de línea (certificado de servidor) y también firma certificados utilizados por los teléfonos (certificado de cliente). Lo que parece estar sucediendo es que cuando se generan nuevos certificados de servidor, lo están haciendo con una serie de 10 dígitos.
Tengo la capacidad de usar certificados generados previamente (generados usando la misma metodología) que tienen publicaciones seriadas de 12 dígitos. Cuando se utiliza el certificado de servidor de 12 dígitos para completar el protocolo de enlace TLS, los teléfonos aceptan el certificado de CA de 12 dígitos. Cuando se utiliza el certificado de servidor de 10 dígitos, los teléfonos rechazan la CA de 12 dígitos como "CA desconocida". Esto parece ... completamente arbitrario e incorrecto, pero es lo que tengo.
Los nuevos certificados de 10 dígitos se generan utilizando OpenSSL 1.0.1i. Los certificados de 12 dígitos se estaban generando usando una versión anterior (0.9.7e, creo). Dudo que eso importe mucho. Un fabricante de teléfonos usa OpenSSL 0.9.7e y el otro usa OpenSSL 1.0.1c-fips