Evaristo R

Técnico Administrador de Sistemas

Piloto de RPAS certificado por AESA/EASA - A1/A3 - A2 - STS

Profesor e-Learning

Evaristo R

Técnico Administrador de Sistemas

Piloto de RPAS certificado por AESA/EASA - A1/A3 - A2 - STS

Profesor e-Learning

Blog Post

MacOS High Sierra – Nvidia Web Drivers -Certificado Revocado.

10 junio, 2022 General
MacOS High Sierra – Nvidia  Web Drivers -Certificado Revocado.

Si eres usuario de MacOS High Sierra y además montas un chip gráfico de Nvidia que utilice Web Drivers, por ejemplo GTX 1050, ya seas de Mac o de Hackintosh, seguro que te has llevado un susto esta semana al encender el sistema, quedándose este en un bucle infinito, y no pasando de la barra de carga de la manzana.

Encontrando el problema

Activando el modo verbose (Argumento -v en bootloader Clover) veremos que el arranque no pasa de las siguientes líneas:

AMFI code signature failed error,
Screen goes black for a second, then an endless loop follows of
ACM:findCredentialSet: returning err -2
ACM:CreateCredentialSet: Credential set created
ACM:verifyPolicy: Verifypolicy UserIdentificationWithBiometrics, checkKeybagUUID = N0, CS[107]
ACM:verifyPolicy: Policy satisfied = No
ACM:deleteCredentialSet: deleting credential set, CS[107]
ACM:findCredentialSet: returning err -2
ACM:CreateCredentialSet: Credential set created
ACM:verifyPolicy: Verifypolicy UserIdentificationWithBiometrics, checkKeybagUUID = N0, CS[108]
ACM:verifyPolicy: Policy satisfied = No
ACM:deleteCredentialSet: deleting credential set, CS[108]
IOConsoleUsers: time(0) 0->0, lin 0, lik1,
IOConsoleUsers: gIOGreenLockState 3, hs 0, bs 0, now 0, sm 0x0

En este momento, podríamos sospechar que algo no va bien con nuestros drivers gráficos, por lo que podríamos forzar el arranque con el argumento nv_disable=1 (en el caso del bootloader Clover)

Desactivando los driver Nvidia, al arrancar conseguiremos salir del bucle e iniciar sesión de usuario (Con 7mb de gráficos, pero suficiente para ver que está ocurriendo).

Podríamos pensar en reinstalar los drivers web NVIDIA, pero comprobaremos que nos sería imposible de instalar, pues saltaría el siguiente error:

No se puede abrir “WebDriver…” Deberías trasladarlo a la papelera.

Y es más, si intentásemos acceder al panel de NVIDIA Driver Manager, en el caso de que ya lo tuviéramos instalado, veríamos que entramos en otro bucle, haciéndonos imposible gestionar lo drivers, bajo el siguiente mensaje:

“Para utilizar el panel de preferencias “NVIDIA Driver Manager”, debes salir de Preferencias del Sistemas y volver a entrar. Un mensaje no muy alentador.

¿Qué está ocurriendo?

Hace unos días, Nvidia decidió revocar sus certificados de Web Driver, jodiendo afectando a los usuarios de High Sierra.

¿Solución?

En estos momentos la comunidad hackintosh está volcada en proponer soluciones, concretamente en los siguientes hilos:

https://forums.macrumors.com/threads/cannot-install-or-use-nvidia-webdrivers-anymore.2346445/page-16

https://www.insanelymac.com/forum/topic/324195-nvidia-web-driver-updates-for-macos-high-sierra-update-nov-13-2020/page/83/

y justamente en este último hilo, y gracias al usuario “fullerfun” podemos disfrutar de un workaround fácil y efectivo.

  1. Desconectar físicamente el dispositivo afectado de la red. Apagar el router durante unos minutos será suficiente.
  2. Iniciar el sistema en modo seguro. Es importante iniciar en modo seguro para que funcione el procedimiento.
    1. En el caso del bootloader Clover sería con el argumento -x
    2. En el caso de un Mac podrías consultar algo similar a esto.)
  3. Lanzamos la terminal y ejecutamos los siguientes comandos:
    • sudo su –
      • Nos pedirá credenciales de root, y las introduciremos recordando que éstas permanecerán invisibles a nuestros ojos.
  4. nano /etc/hosts
    • Para añadir las siguientes líneas al final del fichero:
      127.0.0.1 ocsp.apple.com
      127.0.0.1 ocsp2.apple.com
      127.0.0.1 ocsp.digicert.com
    • Guardamos cambios con CONTROL + O y salimos con CONTROL + X.
  5. Lanzamos los siguientes comandos:
    crlrefresh rp
    rm -f /var/db/crls/*cache?.db
    date -u 020200002020
    reboot

En estos momentos nuestro sistema se reiniciará y accederemos de manera normal de nuevo a nuestra sesión, con los gráficos arreglados. Veremos que la fecha del sistema está mal. Conectaremos de nuevo internet, y la fecha se sincronizará.

¿Qué acabamos de hacer?

Hemos roto la validación DNS de los dominios ocsp.apple.com, ocsp2.apple.com, y ocsp.digicert.com, que son los encargados de la validación de certificados de Apple. De esta forma, nuestro sistema jamás llegará a comunicarse con ellos por lo que no podrá actualizar nuestra CRL.

A continuación, hemos utilizado crlrefresh para manejar nuestra Lista de Certificados Revocados. (CRL).

Las CRL contienen una lista de certificados que han sido marcados por la Autoridad de certificación (CA) como no fiables por diversas razones.

Crlrefresh es un programa de línea de comandos de UNIX que se utiliza para actualizar y actualizar el contenido de la memoria caché de todo el sistema de Certificados revocados mediante las listas de funciones (CRL)

Hemos utilizado las opciones p y r cuya función son:

-p Purga todas las entradas de la caché de CRL, asegurándose de actualizar con CRL nuevas.

-r Actualizar toda la caché de CRL

Por último, hemos modificado la fecha del sistema al domingo 2 de febrero de 2020 y tras esto hemos reiniciado.

Conclusión

Ya sufrimos con Mojave, debido a la mala relación Apple y Nvidia, y la historia de las API de OpenGL, cuando se puso fin al soporte de Nvidia para MacOS; pero lo ocurrido esta semana es otro ejemplo más de obsolescencia programada, con un alto impacto entre los usuarios que, por diversos motivos, continuaban disfrutando de sus sistemas High Sierra con gráficos bajo Web Driver de Nvidia, como pueda ser el caso de productores de audio, que eligen este sistema por su alta compatibilidad con plugins de producción musical. Pero por suerte, y gracias a la comunidad, una vez más, hay una solución.

Fuentes:

https://twitter.com/khronokernel/status/1532545973372588033?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1532545973372588033%7Ctwgr%5E%7Ctwcon%5Es1_&ref_url=https%3A%2F%2Fwww.insanelymac.com%2Findex.php%3Fapp%3Dcoremodule%3Dsystemcontroller%3Dembedurl%3Dhttps%3A%2F%2Ftwitter.com%2Fkhronokernel%2Fstatus%2F1532545973372588033

https://www.unix.com/man-page/osx/1/crlrefresh/

https://forums.macrumors.com/threads/cannot-install-or-use-nvidia-webdrivers-anymore.2346445/page-16

https://www.insanelymac.com/forum/topic/324195-nvidia-web-driver-updates-for-macos-high-sierra-update-nov-13-2020/page/83/

Taggs:
2 Comments
  • Carlos 3:34 pm 17 junio, 2022 Responder

    Enorme Evaristo!! Muchas gracias por la solución. Justo lo que comentas en el último párrafo, es mi caso…

Write a comment

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. Si está interesado en leer el aviso de privacidad pinche aquí.

ACEPTAR
Aviso de cookies