PEA - controlador personalizado SSL usando Mac OSX llavero asistente y OpenSSL

Resumen


En este artículo los usuarios aprenderán a evitar problemas con el navegador web Safari y "errores de websocket" (ejemplo: "este sitio web no es de confianza").

 

El problema va más allá de confiar explícitamente en el certificado SSL por defecto (como esto solo no funciona). Creando su propia autoridad de certificación (CA) y reemplazar el certificado por defecto con este certificado firmado puede evitar los errores de web. Esta es la historia de ese intento, con instrucciones de que nadie quiere probar por sí mismos. (También, para mí, acaso tengo que hacerlo otra vez!)

 

Una nota rápida antes de empezar: vas a necesitar OpenSSL y equipo ejecuta Mac os x para completar esto.

En Resumen, los pasos son:

  1. Crear una autoridad de certificación
  2. Crear un certificado firmado por la CA que acaba de crear
  3. Exportar el certificado y clave privada
  4. Preparar un archivo de certificado
  5. Subir el archivo de certificado para el router y cambiar el valor por defecto

Pasos


Por lo tanto, en detalle, los pasos son:

1. crear una autoridad de certificación

Solía llavero Asistente para hacer esto, estoy seguro de que es posible hacerlo con OpenSSL, pero quería que mi sistema operativo de forma nativa confiar en esta CA.

  1. Abrir Asistente de llavero (aplicaciones > Utilidades > llavero asistente)
  2. En el menú de "Asistente de llaves", seleccione «Asistente para certificados» y luego "crear una autoridad de certificados...'
  3. Para el "la autoridad del certificado crea" página...
    un) darle CA un nombre, ( recuerda este name)
    b) tipo de identidad = yo firmo raíz CA (es default),
    c) usuario certificado = SSL Server
    d) Compruebe "me deja anular defaults"
    e) opcional: desmarque "Hacen de esta CA por defecto"
    f) opcional: cambiar el campo "Correo electrónico de" a un correo electrónico con su Hit "Continue" choosing
    g)
  4. Para la primera página de "Información de crear"...
    ) número de serie = 1
    b) período de validez (días) = 3650 (puede configurar esto para lo que quieras, pero tendrás que rehacer esta tras la expires
    c) del período de validez opcional: Consulte "Crear un sitio web de CA" y definir la ubicación.  (Probablemente no lo hace)
    d) desmarcar "Muestra su invitation"
    e) Hit "Continuar"
  5. Para la segunda página de "Información de crear"...
    a) completa el información como te convenga y continuar a la siguiente página
  6. De la página "Clave uso extensión para esta CA"...
    ) licencia estos detalles ya que son por defecto, golpe siguen
  7. De la página "Clave uso extensión para esta CA"...
    ) licencia estos detalles ya que son por defecto, golpe siguen
  8. Para la "extensión de uso clave para los usuarios de este CA" página...
    ) licencia estos detalles ya que son por defecto, golpe siguen
  9. De la página de "Extended clave uso extensión para esta CA"...
    ) licencia estos detalles ya que son por defecto, golpe siguen
  10. Para el "Extended Key extensión de uso para los usuarios de este CA" página...
    ) licencia estos detalles ya que son por defecto, golpe siguen
  11. De la página "Básicas restricciones extensión para esta CA"...
    ) licencia estos detalles ya que son por defecto, golpe siguen
  12. Para la "extensión básica las restricciones para los usuarios de este CA" página...
    ) licencia estos detalles ya que son por defecto, golpe siguen
  13. De la página "Tema de extensión de nombre alternativo para este CA"...
    ) licencia estos detalles ya que son por defecto, golpe siguen
  14. Para el "sujeto alternativo nombre extensión para los usuarios de este CA" página...
    ) licencia estos detalles ya que son por defecto, golpe siguen
  15. Para el "especificar una ubicación para el certificado" página...
    a) opcional: cambiar la ubicación para el llavero ( recuerde este Keychain)
    b) Compruebe "en este equipo, confía en certificados firmados por este crear de golpe CA"
    c)

2. crear un certificado firmado por la CA que acaba de crear

Continuando con acceso a Llaveros...

  1. Desplácese hasta el llavero donde guardaste la autoridad certificadora y encontrar la clave privada de la CA (habrá tres con el mismo nombre: un certificado de clave pública y clave privada)
  2. Haga clic en la "clave privada" y haga clic en "Crear un certificado con xxxxx..."
  3. En el page
    a) de "Crear su certificado" le da un nombre, me gusta usar el nombre de mi router (IE ubnt.local) ( recuerde este tipo de identidad name)
    b) = "Lead"
    c) tipo = "SSL Server"
    d) Check "Déjame reemplazar defaults"
    e) Hit continuar
  4. En el número de serie "Certificado información" page
    a) = 1
    b) período de validez (días) = 365 (puede configurar esto para lo que quieras, pero deberás volver a crear este certificado después de continuar el expires)
    c) período de validez Hit
  5. Para la segunda página de "Información de crear"...
    a) completa el información como te convenga y continuar a la siguiente página
  6. De la página de "Extensión de uso de la clave"...
    ) licencia estos detalles ya que son por defecto, golpe siguen
  7. De la página de "Extensión de uso de clave extendida"...
    un) cheque "SSL servidor Authentication"
    b) desactive todas las demás capacidades
  8. De la página de "Extensión de restricciones básicas"...
    ) licencia estos detalles ya que son por defecto, golpe siguen
  9. De la página de "Extensión de nombre alternativo de tema"...
    un) rfc822Name
    b) claro claro URI
    c) dNSName = url/nombre de host de su interfaz gráfica de usuario (es decir. dirección IP de ubnt.local)
    d) = dirección IP de su interfaz gráfica de usuario
  10. Para el "especificar una ubicación para el certificado" página...
    a) opcional: cambiar la ubicación para el llavero ( recuerde este crear de golpe Keychain)
    b)

  3. exportar el certificado y clave privada

  1. Desplácese hasta el llavero donde guardó el certificado y es certificado y clave privada (habrá tres con el mismo nombre: un certificado de clave pública y clave privada)
  2. Haga clic derecho sobre el certificado y elija export
    a) guardar el archivo, utilizando el formato de archivo de certificado ( recuerde el nombre del archivo y la ubicación de este archivo! )
  3. Haga clic derecho sobre la clave privada y elige export
    a) guardar el archivo, mediante el intercambio de Información Personal (. p12) formato de archivo ( Recuerde el nombre de archivo y la ubicación de este archivo! )

4. prepare un archivo de certificado

He utilizado OpenSSL para hacerlo, aunque estoy seguro que hay otras maneras de

Usted lo necesita comando línea experiencia desde aquí en... lo siento!

  1. Abrir una ventana de terminal (aplicaciones > Utilidades > Terminal)
  2. Opcional: Cambiar el directorio a la carpeta que contiene su certificado / privado clave archivos
    1. cd path_to_files
  3. Convertir el archivo de certificado en un archivo pem (reemplazar el archivo nombres según corresponda)
  4. openssl x509 -inform der -in certificate.cer -out certificate.pem
  5. Convertir el archivo de clave privado en un archivo pem (reemplazar el archivo nombres según corresponda)
  6. openssl pkcs12 -in privateKey.p12 -out privateKey.pem -nodes 
  7. Concatenar los dos archivos juntos (sustituir los nombres de archivo según sea el caso)
  8. cat privateKey.pem certificate.pem > server.pem 

 

5. subir el archivo de certificado para el router

Continuando con el Terminal

  1. SSH en el router
    1. ssh router_ip_address -l your_user_name
      (enter your password when requested)
  2. Usted necesitará preparar el router el que posee o si no tiene permisos para una carpeta, he utilizado mi carpeta de inicio (cambiar nombres de archivos / carpetas como apropiado)
    1. cd /home
      sudo chown your_user_name your_user_name
  3. Abrir una nueva ventana de Terminal (cmd + n)
  4. En la nueva ventana de terminal, copie el archivo en el router (reemplazar nombres de archivos / carpetas como apropiado)
  5. scp server.pem your_user_name@router_ip_address:~/server.pem
    (enter your password when requested)
  6. En terminal original ventana, cambio de propiedad del archivo
    sudo chown www-data:www-data ~/server.pem
  7. (Opcional) En la ventana terminal original, copia de seguridad de certificado predeterminada
  8. sudo cp /etc/lighttpd/server.pem ~/server.pem.backup
  9. En la ventana terminal original, sobrescribir el certificado predeterminado
    1. sudo cp ~/server.pem /etc/lighttpd/server.pem
  10. Establecer permisos en el nuevo archivo de certificado
    1. sudo chmod 400 /etc/lighttpd/server.pem
  11. Reiniciar lighttpd 
  12. sudo /usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf

12. prueba!

 

Mensajes de apoyo:

http://Community.ubnt.com/T5/EdgeMAX/Custom-SSL-CErtificates/td-p/405628
http://Community.ubnt.com/T5/EdgeMAX/Replacing-the-self-signed-SSL-certificados/td-p/381481
http://Community.ubnt.com/T5/EdgeMAX/Problem-with-lighttpd-y-servidor-pem/td-p/771390
https://www.sslshopper.com/article-Most-Common-OPENSSL-commands.html
http://www.TechRepublic.com/blog/Apple-in-the-enterprise/Create-Your-Own-SSL-CA-with-the-os-x-keycha...

 

  / Ubiquiti Employee

Tecnología de Zendesk