0 votos

Autenticación mutua entre mi iPhone y el servidor web

Necesito poder acceder a una parte segura de mi sitio web desde mi iPhone. Se trata de un directorio del sitio ("infra") donde guardo información y rutinas para gestionar el SAI de la infraestructura de mi casa y el estado de las comunicaciones. Lo he implementado usando autenticación mutua, en cada cliente (navegador) que necesita obtener y poner datos tengo un certificado de cliente (infra_client.cer) que ha sido emitido por mi ca privada. Esto funciona bien en los navegadores normales de escritorio pero no en safari o chrome en mi iPhone, a pesar de que el certificado del cliente y el certificado de la ca están cargados ajustes/general/perfiles y parecen estar verificados. Cuando intento conectarme el servidor dice:

[Mon Jul 12 06:44:02.452293 2021] [ssl:error] [pid 10010] SSL Library Error: error:140890C7:SSL routines:ssl3_get_client_certificate:peer did not return a certificate -- No CAs known to server for verification?
[Mon Jul 12 06:44:02.599346 2021] [ssl:error] [pid 10059] [client 86.140.211.152:57830] AH02261: Re-negotiation handshake failed

¿tiene alguien alguna idea de cómo se puede hacer funcionar esto?

1voto

Steve Evans Puntos 155

Requisitos de Apple

Apple aplicar requisitos adicionales en certificados de confianza. Asegúrese de que su Autoridad de Certificación (CA) privada cumple estos requisitos.

openssl s_server

Puede confirmar, y depurar, que los navegadores del iPhone proporcionan un certificado con openssl s_server .

s_server se puede utilizar para ejecutar un servidor SSL/TLS de depuración que le permite examinar la negociación entre el servidor y el cliente:

Apache httpd

Para configurar Apache httpd , ver Autenticación de certificados en el lado del cliente ya que el autor se encontró con el mismo problema:

A pesar de que la CA permitida estaba correctamente configurada, recibí este mensaje de error

SSL Library Error: error:140890C7:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:peer did not return a certificate -- No CAs known to server for verification?

Para resolver el problema, tuve que fusionar el archivo de la CA del certificado y el archivo de la cadena del certificado en un solo archivo. Para utilizar los certificados de cliente con www.digicert.com esto significaba

cat TrustedRoot.crt >> MergedCA.crt
cat DigiCertCA.crt >> MergedCA.crt

y apuntando SSLCACertificateFile a MergedCA.crt

0 votos

Gracias por las observaciones, consciente de que puedo usar openssl de la manera descrita pero prefiero averiguar qué piensa el navegador de iOS porque todos los demás casos no basados en el teléfono funcionan bien.

0 votos

Mis certificados CA están bien, funcionan con todo lo demás

0 votos

¿Cumplen sus certificados Requisitos de Apple ? ¿Está seguro de que su servidor es que requiere ¿un certificado de cliente? Utilizando s_server ¿qué diferencia hay cuando se conecta un cliente de iOS frente a los demás?

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X