5 votos

¿Cuál es el equivalente en MacOS de los nombres de los almacenes de certificados de Windows?

En Windows, cuando se recupera información sobre los certificados, éstos proceden de almacenes de certificados con nombre, como "Trusted Root Certification Authorities" o "Trusted Publishers", ¿cuál es el equivalente en MacOS?

Mi mejor conjetura es que se trata de tipos de llaveros, por ejemplo, "login" o "System", pero son lo suficientemente diferentes como para no estar seguro. Los nombres tampoco parecen venir con los certificados (cuando se usa SecItemCopyMatching en Swift, por ejemplo).

El contexto de por qué necesito esto: Me han pedido que reúna datos sobre los ordenadores de los usuarios (para que el departamento de TI pueda ver los datos agregados), y la mayor parte del trabajo se hizo para el lado de Windows antes de que yo llegara aquí. Estoy tratando de reunir los mismos datos de certificados para MacOS que se reúnen actualmente para Windows. La mayor parte se obtiene fácilmente de ambos (por ejemplo, el Asunto, la Expiración), pero el código de Windows tiene un valor llamado Tienda de certificados que no veo fácilmente un análogo en MacOS.

4voto

Jose Chavez Puntos 645

El equivalente en MacOS es el nombre del llavero.

En Windows tiene, por ejemplo, el "almacén de certificados del usuario actual". El correspondiente en MacOS sería el llavero de inicio de sesión del usuario: ~/Library/Keychains/login.keychain-db . Hay uno para cada usuario en el sistema, y almacena los certificados relevantes para ese usuario solamente.

En Windows tienes el "Local Machine Certificate Store" que contiene los certificados añadidos por los usuarios a los que pueden acceder todos los usuarios del ordenador local. Lo correspondiente en MacOS sería el llavero del sistema: /Library/Keychains/System.keychain

En Windows tienes el "Trusted Root Certification Authorities Certificate Store" que contiene los certificados CA de confianza del sistema operativo en general. Lo correspondiente en MacOS es el llavero de certificados root del sistema: /System/Library/Keychains/SystemRootCertificates.keychain

Puede enumerar los certificados de cada uno de esos llaveros utilizando la función security de mando. Por ejemplo, para obtener una lista general:

security find-certificate -a ~/Library/Keychains/login.keychain-db
security find-certificate -a /Library/Keychains/System.keychain
security find-certificate -a /System/Library/Keychains/SystemRootCertificates.keychain

o para exportar los certificados reales en formato PEM:

security find-certificate -a -p ~/Library/Keychains/login.keychain-db
security find-certificate -a -p /Library/Keychains/System.keychain
security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain

La excepción a la regla anterior es lo que se conoce como "Trusted Publishers Certificate Store" en Windows - esto no se almacena en un llavero en MacOS, sino en una base de datos de reglas de evaluación del sistema. El nombre de la misma es: /var/db/SystemPolicy

Puedes crear una lista de ellos con el siguiente comando:

sudo spctl --list --type execute

La salida es una lista de reglas de evaluación, que además de algunas reglas genéricas, específicas de Apple, es básicamente una lista de los hashes de los certificados de los editores de confianza.

La información del certificado real no puede ser exportada desde la base de datos SystemPolicy, ya que no está contenida allí. Sin embargo, puede acceder a esos datos recorriendo las aplicaciones instaladas (por ejemplo, en /Applications ) y corriendo:

codesign -d -r- -vvvv /Applications/AnApp.app

Esto le permite reunir información como el nombre del editor, la unidad organizativa del sujeto, el nombre de la CA (Apple Root CA) y las marcas de tiempo.

0voto

Oskar Puntos 1242

Por lo tanto, la mejor manera de recoger esta información en MacOS es utilizar un MDM . Ayuda a no tener que reinventar la rueda para las consultas y peticiones del departamento de TI. No hay ninguna ventaja en saber en qué llavero se almacena un certificado, así que yo no me centraría en esa estrecha petición y contrataría al departamento de TI directamente para construir un marco adecuado para todas las tareas de gestión de Mac que necesitarán.


Generalmente uso JAMF Pro para recoger todos los certificados de la empresa para poder gestionar cosas como esta, pero se puede utilizar otro MDM si quieres código abierto frente a herramientas con soporte comercial . No hay un equivalente directo, así que hazle saber a TI que te están pidiendo algo que tampoco está presente en MacOS.

Volviendo a las tareas prácticas relacionadas con los certificados, he aquí el aspecto de un certificado detectado en la interfaz de usuario de JAMF Pro y algunas copias de seguridad de que hay que gestionar los Mac de forma diferente a los puntos finales de Windows de un proveedor como Cisco.

enter image description here

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