16 votos

Puede MS Certificado de Servicios a ser un Subordinado de CA creado con OpenSSL

Quiero configuración de una autoridad de certificación de empresa para mi dominio. Así que puede emitir certificados para diversos fines. Me gustaría seguir las mejores prácticas para tener un CA sin conexión como la root, y la instalación de mi CA de empresa como un subordinado. Pero me parece una tontería licencia completamente copia de Windows para esta tarea.

Lo que yo espero ser capaz de hacer es instalar algunos viven de distribución en un disco flash USB y, a continuación, instalar openssl, y la instalación de mi CA en la unidad flash. Cuando estoy listo para generar la clave de la root/cert voy a desconectar el equipo de la red, y entonces nunca utilizar ese disco USB en un ordenador conectado a la red de nuevo.

Voy a ser capaz de inscribirse correctamente y crear un certificado de CA subordinada para una empresa de Windows CA, que será utilizable. ¿Qué opciones tengo que usar OpenSSL para generar el CA y firmar el certificado de CA subordinada correctamente.

He intentado buscado en la web, y esto fue lo único que pude encontrar sobre el tema. Pero es anterior a 2008, y no estoy completamente seguro de que la persona fue todo un éxito.

14voto

Shane Madden Puntos 81409

Sí, funciona muy bien; una entidad de certificación de Windows no tiene reparos a la hora de correr como un subordinado a un no-root de Windows.

Probado con una OpenSSL root y un Windows 2008 R2 subordinado en modo de Empresa.


Un par de cosas para jugar bien con lo que el MS CA espera en el OpenSSL config:

  • Válido ubicaciones de AIA y CDP debe solicitar el certificado root, en la sección configurado por el x509_extensions de la propiedad de la [req] sección de la root firmados. Algo a lo largo de estas líneas:

    authorityInfoAccess = caIssuers;URI:http://test-rootca.test.local/root.pem
    crlDistributionPoints = URI:http://test-rootca.test.local/root.crl
    
  • Un determinado OpenSSL config probablemente no permitir subordinadas por defecto. Cambio que para firma de peticiones (asegúrese de que esto no está en su lugar para las solicitudes que no debería ser CAs, por supuesto). Esto será en la sección configurado por el x509_extensions de la propiedad de la [ca] sección:

    basicConstraints=CA:TRUE
    certificatePolicies=2.5.29.32.0
    

Así que, vamos a hacer un CA a prueba.

Hacer su root:

openssl req -new -x509 -keyout /etc/ssl/private/root.key -out /etc/ssl/certs/root.pem -nodes -extensions v3_ca

El violín con su configuración y crear los archivos y directorios en el [ca] sección de su OpenSSL config.

Todo listo para obtener el lado de Microsoft de las cosas que suceden; crear un Windows CA subordinada con el manual de la firma.

Cargar la solicitud de certificado para el OpenSSL servidor. Mientras estás en ello, descargar el certificado root. La importación en las root de confianza la tienda de la computadora, no la de tu usuario!

Emitir el certificado subordinado:

openssl ca -in test-subca.req
(you might need to specify a permissive policy manually with -policy, check your config)

Si eso no funciona, su CA probablemente tiene un problema con la configuración del nuevo directorio de certificados, archivo de índice de serie, archivo, etc. Compruebe el mensaje de error.

Si se fue, entonces eso es todo. Si no lo has hecho, hacer una CRL y la puso en el CDP que configuró anteriormente; acabo de instalar Apache y atascado en webroot:

openssl ca -gencrl -out /var/www/root.crl

Y poner su certificado en la ubicación de AIA, si no lo está ya:

cp /etc/ssl/certs/root.pem /var/www/root.pem

Descargar la nueva emisión subordinada certificado e instalarlo en la CA con la Autoridad de Certificación de MMC. Va a quejarse acerca de los problemas con la confianza de validación, pero no tiene ninguna objeción moral a tomar.

Resultado final; un trabajo de Windows CA sin quejarse de la PKI de Empresa complemento, con una reveladora OpenSSL Generated Certificate en los atributos.

working-ca

6voto

dunxd Puntos 6406

Veo lo que usted está consiguiendo, pero no creo que OpenSSL es la herramienta para el trabajo. Es posible que desee buscar en el código Abierto de Certificados de la Autoridad de proyectos tales como EJBCA que se centran más en esta funcionalidad de OpenSSL, y tener la documentación específica que puede utilizar.

No veo una razón por la que el concepto no iba a funcionar, ya que todo lo que están haciendo es firmar el subordinado certificado de la CA. Si se paga una CA pública para hacer esto para usted, usted no necesariamente sabe ni le importa lo que el sabor de servidor que estaban utilizando.

Todo lo que usted debe prestar atención es:

  • usted puede firmar el certificado de la RSE generado por sus subordinados
  • el resultado puede ser instalado en la subordinarse
  • usted tiene una root del certificado de firma que puede ser instalada como de confianza en lo que los clientes de destino
  • usted puede generar una lista de revocación que se sirve en algún lugar

No puedo decir que lo he hecho, pero estoy seguro de que si usted sigue las instrucciones para generar una CSR a partir de un cuadro de windows, a continuación, siga su CA docs para la generación de una .p7k cert de un CSR, entonces usted debe estar bien.

Por cierto - yo le recomiendo crear su CA como una máquina virtual para un popular hipervisor como Hyper-V o VMware, en lugar de un disco de arranque, asegúrese de que la tienda es muy segura en algún lugar de su sucesor puede encontrar, y girar sin conexión periódicamente para asegurarse de que funciona, o transferencia a nuevos medios y tecnología. Una CA root puede tener una vida útil de 10 o 20 años...

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: