MagicInfo

De MediaWiki - iCluster
Saltar a: navegación, buscar

Descripción

Sobre el software actual de SSSP (Smart Signage Samsung Platform)

  • MagicInfo Server 4: Es una aplicación web que está alojada en Apache Tomcat, usa el gestor de bases de datos PostgreSQL o MySQL e incluye la utilidad OpenSSL para generar requerimientos de certificado firmado (CSR) y mediante este obtener un certificado SSL.
  • MagicInfo Author: Creación de contenido LFD (Large Format Display) mediante plantillas.
  • MagicInfo Express 2: Como MagicInfo Server pero de flujo y características simplificadas: crear contenidos, crear programación, y enviar a los dispositivos.
  • MagicInfo Lite/Player S: Para control del contenido LFD standalone, puede usar una conexión usb como almacenamiento.
  • MagicInfo VideoWall Author 3: Software de servidor para creación de videowalls de arreglos formales e informales usando dispositivos Samsung LFD con MagicInfo Player S dentro de la red local. Otras versiones son conocidas como VideoWall/-S VideoWall/VideoWall S
  • MDC (Multiple Display Control): Control de multiples pantallas mediante RS232 o Ethernet. Envío sólo de comandos de parámetros de funcionamiento, como volumen, zoom, control de brillo, color, posición en videowall, etc.
  • Remote web inspector (RWI): Debug; inspector de elementos.
  • Tizen Studio 2: Entorno de desarrollo de proyectos para Tizen.

Requisitos previos

  • Windows 7/8/10, versión x64, con al menos 1GB+ de espacio disponible en el disco duro
  • Java Runtime Environment (versión probada: jre1.8.1._91)
  • PostgreSQL (versión probada: 9.5.7)
  • OpenSSL para generar llaves pública y privada
  • Que la compra del certificado SSL ya haya sido realizada.
  • Keystore Explorer para crear los archivos .jks (versión probada: 5.3.2)


Instalación de MagicInfo Server

Los pasos a realizar son:

  • Iniciar el instalador y seleccionar idioma
  • Aceptar acuerdo de licencia/EULA
  • Seleccionar carpeta de destino (C:\MagicInfo Premium\)
  • En tipo de instalación, seleccionar sólo HTTPS, Instalación express, y Postgre
  • Ingresar la contraseña de PostgreSQL
  • Guardar en un archivo de texto manualmente o usando el botón guardar, la información generada por defecto de: base de datos, información administrativa del servidor, información administrativa de la organización. El botón guardar almacena la configuración en C:\MagicInfo Premium\MISInformation.txt
  • Muestra del directorio generado en el menú inicio
  • Copia de archivos
  • Instalación automática de librerías VCRedist
  • Finalización, luego de esto el servicio "MagicInfoPremium" se mantiene en ejecución.

La versión HTTP corre en el puerto 7001, mientras que la versión HTTPS corre en el 7002, por ejemplo: https://xx.xx.xx:7002/MagicInfo, el usuario por defecto es admin con clave admin2016.

Nótese que la versión utilizada fue la 4101.8.

Sobre certificados SSL

Usualmente los certificados SSL pueden contratarse como servicio para períodos mayores a un año, sin embargo su duración es de 12 meses, por lo que requiere ser renovado en el equipo transcurrido este tiempo.

MagicInfo trabaja sólo con los certificados de los proveedores más comunes:

  • GoDaddy
  • Comodo
  • Starfield
  • GeoTrust
  • GlobalSign
  • Digicert
  • Thawte
  • Network Solutions
  • Entrust
  • StartCom
  • Verisign

El proceso consiste en 4 pasos fundamentales: generar un requerimiento de certificado firmado (CSR), obtención del certificado emitido por el proveedor, generación de los Java Keystore o archivos .jks requeridos por Tomcat y MagicInfo Server, y la integración de los archivos.jks al entorno de MagicInfo y Tomcat.

Si bien es posible usar un certificado SSL en entornos aislados de internet, su uso no tiene sentido práctico debido a que requieren ser verificados con el proveedor, del mismo modo es posible usar un certificado sin un dominio (asignarlo a una ip), pero su uso es poco común.

El proveedor del certificado utilizado en esta guía fue GoDaddy, por lo que algunos pasos pueden variar (generar CSR y recepción de certificados).

Generar CSR

Este proceso puede hacerse en otro equipo y luego de generar los archivos .jks, copiarlos al servidor

Puede automatizar este paso en linux usando el siguiente script:

   #!/bin/bash
   
   DOMINIO=$1
   PASSWORD=$2
   
   _C="CL"
   _ST="Region Metropolitana"
   _L="Santiago"
   _O="DecibelPixel"
   _OU="IT"
   _MAIL="soporte@icluster.cl"
   if [ -z "$DOMINIO" ] || [ -z "$PASSWORD" ]; then
       echo -e "\n >> Debe especificar un dominio y una password \n"
       exit 1
   fi
   
   rm -fr ${DOMINIO}.*
   echo -e "\n >> generando *.prv.key \n "
   openssl genpkey -algorithm RSA -out ${DOMINIO}.prv.key -pkeyopt rsa_keygen_bits:2048 -aes-128-cbc -pass pass:${PASSWORD}
   echo -e "\n >> generando *.pub.key \n "
   openssl rsa -in ${DOMINIO}.prv.key -pubout -out ${DOMINIO}.pub.key -passin pass:${PASSWORD}
   echo -e "\n >> generando *.csr \n "
   openssl req -new -key ${DOMINIO}.prv.key -out ${DOMINIO}.csr  -subj "/C=${_C}/ST=${_ST}/L=${_L}/O=${_O}/OU=${_OU}/CN=${DOMINIO}/emailAddress=${_MAIL}" -passin pass:${PASSWORD}
   echo -e "\n >> generando *.uncrypted.prv.key \n "
   openssl rsa -in ${DOMINIO}.prv.key -out ${DOMINIO}.uncrypted.prv.key -passin pass:${PASSWORD}
   echo "Dominio: ${DOMINIO}  Pass: ${PASSWORD} " > ${DOMINIO}_resumen.txt

El archivo .sh que contiene este script esta disponible aquí, nótese que dominio: ssl1.cl y clave: dbpx*ssl1

Usualmente el proveedor de certificados trabaja con llaves RSA de 2048 bits encriptadas, por lo que inicialmente debe generarse una llave privada con:

  openssl genpkey -algorithm RSA -out mydomain.prv.key -pkeyopt rsa_keygen_bits:2048 -aes-128-cbc -pass pass:secret

Donde secret es una palabra secreta que debe anotarse ya que será reutilizada más adelante, y mydomain es el nombre del dominio correspondiente al que tendrá el servidor.

Luego se creará una llave pública (no utilizada) en base a la privada con el comando:

  openssl rsa -in mydomain.prv.key -pubout -out mydomain.pub.key

En este caso mydomain.prv.key es la llave privada obtenida en el paso anterior y mydomain es el dominio utilizado.

Creamos el archivo .csr con:

  openssl req -new -key mydomain.prv.key -out mydomain.csr

mydomain.prv.key es la llave privada del primer paso. Al ejecutar el comando se solicita la siguiente información :

  • Country Name: País donde estará el servidor, codificado con 2 letras según la norma ISO 3166-1 alpha 2. Visite este enlace para consultar el código correspondiente al país
  • State or Province Name: Nombre completo del estado o región donde estará el servidor
  • Locality Name: nombre completo de la ciudad o localidad donde estará el servidor
  • Organizational Name: El nombre completo de la organización compradora del certificado SSL
  • Organizational Unit Name: Suele rellenarse con "MagicInfo"
  • Common Name: El dominio final del servidor
  • Email address: Dirección del correo electrónico registrado al comprar el certificado SSL.

Atributos Extra:

  • A Challenge password: Contraseña adicional, debería ser igual a secret
  • An optional company name: Debería ser igual a Organizational Name

Según el proveedor del certificado SSL, pudiera no ser posible usar una llave privada encriptada (Verificar si esto causará problemas en la configuración de MagicInfo), en ese caso hay que omitir los pasos anteriores ya que basta con ejecutar el comando:

  openssl req -nodes -newkey rsa:2048 -keyout myserver.key -out server.csr

Luego será solicitada la información descrita anteriormente (common name, organizational name, etc.). El archivo myserver.key es la clave privada sin encriptar equivalente al fichero mydomain.prv.key descrito anteriormente, mientras que server.csr es el fichero requerido para el siguiente paso.

El contenido del archivo .CSR visto con un editor de textos es lo requerido para el siguiente paso

Obtención del certificado SSL

En el sitio web del proveedor de certificados debe dirigirse a la sección de administación de certificados y pegar el texto proveniente del archivo .csr, luego de verificar la validez de éste, es posible la descarga de los archivos .crt del certificado de identidad y confianza.

Durante la realización del proceso con el proveedor GoDaddy al ingresar el contenido del archivo .csr fue solicitada la validación de autoridad del host como medida de seguridad, para esto se solicitó la creación de un archivo godaddy.html en la dirección dominio.cl/.well-known/pki-validation/ con dominio como el dominio activo. El contenido del archivo godaddy.html es sólo la cadena de caracteres provista por GoDaddy, luego de crear las carpetas necesarias, debe presionar el link de verificación y opcionalmente acceder a la dirección dominio.cl/.well-known/pki-validation/godaddy.html para verificar que lo hecho es correcto. La validación del archivo html suele tomar menos de un minuto y después de esto se generan los certificados, esto toma aproximadamente 10 minutos y al finalizar se notifica al correo registrado con el proveedor.

Usualmente se reciben 2 certificados que pueden examinarse haciendo doble click sobre ellos:

  • Certificado del sitio (Identity)
  • Certificado de confianza de CA (Trust): este puede contener más de un certificado. Para extraerlos, basta con abrir el archivo .crt con un editor de textos y exportar los segmentos delimitados por -----BEGIN CERTIFICATE----- y -----END CERTIFICATE----- (incluyuendo esas marcas) a otro archivo en texto plano que luego deberá guardarse con extensión .cer, por ejemplo: cerTrust-1.cer, cerTrust-2.cer, cerTrust-3.cer. Posiblemente sea necesario deshablitar la opción "Ocultar las extensiones de archivo para los tipos de archivos conocidos" en el Explorador de archivos > Vista > Opciones de carpeta > Ver, y luego cambiar manualmente la extensión.

Haciendo doble click sobre los archivos .crt se puede verificar la información provista y la duración de los mismos.

El archivo del certificado SSL de identidad .crt (Identity) y el/los 3 archivo(s) de confianza .cer (Trust) son lo requerido para el siguiente paso

Generar JKS

Los archivos utilizados por MagicInfo y Tomcat son MagicInfoTrust.jks y MagicInfoIdentity.jks respectivamente, ambos deben crearse usando la aplicación Keystore Explorer. El proceso consiste en crear un .jks importando los certificados recibidos y verificarlos usando el archivo de llave privada .key creado en el primer paso.

Llave Privada

Si el archivo de llave privada mydomain.prv.key se creó usando una clave secret (el método de 3 pasos) debe desencriptarse usando:

  openssl rsa -in mydomain.prv.key -out mydomain.libre.prv.key

mydomain.prv.key es el archivo de llave privada y mydomain.uncrypted.prv.key es el archivo desencriptado.

Creación de MagicInfoIdentiy.jks

Dirigirse a File > New Keystore Type > Seleccionar JKS

Keystore Explorer


Luego importar el certificado Identity en Tools > Import Key Pair (o Ctrl + K) > Seleccionar OpenSSL > Desmarcar la opción "Encripted Private key", indicar la ruta de la llave privada .key en "OpenSSL Private Key File", y el archivo de certificado de identidad .crt en "Certificate(s) File" > Presionar Import y guardar.

No se ha confirmado si es posible utilizar la llave privada encriptada ingresando la clave.

Keystore Explorer

Creación de MagicInfoTrust.jks

Dirigirse a File > New Keystore Type > Seleccionar JKS

Luego importar los certificados Trust en Tools > Import Trust Certificate (o Ctrl + T) > Importar los (3) archivos .cer, cuando le consulte por el alias, puede dejar el valor que trae por defecto (el nombre de archivo proporcionado por el certificado). Al guardar el archivo le solicitará una clave, puede usar la misma palabra secreta de los pasos anteriores (secret), ya que esta será necesaria al editar los archivos de MagicInfo y Tomcat.

Estos dos archivos .jks son los necesarios para el siguiente paso

Sobre java key store: un keystore es un contenedor seguro para el almacenamiento de certificados, pudiendo ser de confianza/trust o identidad/identity. El jks de confianza contiene certificados emitidos por una CA de confianza (MagicInfoTrust.jks), mientras que el jks de identificaciones contiene tus propios certificados y se usan para autenticarse (MagicInfoIdentity.jks). Sobre protocolos: HTTPS es manejado por Tomcat, FTPS es manejado por MagicInfo.

Configurar Servidor WEB / JAVA

La puesta en marcha de los certificados consiste en 3 pasos más la modificación de un archivo de configuración de java.

MagicInfoTrust.jks y MagicInfoIdentity.jks

Dirigirse a C:/MagicInfo Premium/runtime/keystore/ respaldar los archivos .jks ya existentes y luego copiar los .jks creados recientemente.

Tomcat

Antes de modificarlo, respaldar en otra ubicación el archivo C:\MagicInfo Premium\tomcat\conf\server.xml, luego abrirlo y encontrar la línea con el texto <Connector port="7002", y verificar que la información es igual a la siguiente:

  <Connector port="7002"
  protocol="org.apache.coyote.http11.Http11Nio2Protocol"
  maxHttpHeaderSize="8192" maxThreads="150"
  enableLookups="false" disableUploadTimeout="true"
  acceptCount="100" scheme="https" secure="true"
  SSLEnabled="true" keystoreFile="C:/MagicInfo
  Premium/runtime/keystore/MagicInfoIdentity.jks"
  keystorePass=“secret" keystoreType="JKS" sslProtocol="TLS"
  sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2,SSLv2Hello"
  URIEncoding="UTF-8" maxPostSize="8388608" />

Notar que secret es la palabra secreta definida en el primer paso y SSLv2Hello es una opción que seguramente haya que añadir.

MagicInfo Server

Antes de modificarlo, respaldar en otra ubicación el archivo C:\MagicInfo Premium\conf\config.properties, luego abrirlo y buscar la sección "Keystore for security connection", verificar que la información es igual a la siguiente:

  keystore.path = C:/MagicInfo Premium/runtime/keystore
  keystore.identity.path = C:/MagicInfo Premium/runtime/keystore/MagicInfoIdentity.jks
  keystore.identity.password = secret
  keystore.trust.path = C:/MagicInfo Premium/runtime/keystore/MagicInfoTrust.jks
  keystore.trust.password = secret
  server.key.alias = MagicInfo
  server.key.password = secret

Notar que secret es la palabra secreta definida en el primer paso, MagicInfoTrust.jks y MagicInfoIdentity.jks son los archivos jks reemplazados recientemente.

Configuración de Java

Respaldar y luego abrir el archivo en C:\Program Files\Java\jre1.8.1._91\lib\security\java.security, encontrar los siguientes líneas y comentarlas anteponiendo # al principio de la línea, nótese que pudieran estar duplicadas, existiendo una comentada y una no comentada (activa):

  jdk.certpath.disabledAlgorithms=MD2, MD5, SHA1 jdkCA & usage TLSServer, \
  RSA keySize < 1024, DSA keySize < 1024, EC keySize < 224
  jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024, DSA keySize < 1024
  jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 1024, \
  EC keySize < 224, DES40_CBC, RC4_40, 3DES_EDE_CBC

Finalización

Reiniciar el servidor y verificar que la conexión a MagicInfo Server mediante https está operativa

  • insertar imagen

Problemas comunes

  • Al intentar usar OpenSSL podría requerir que la carpeta desde donde se ejecuta esté en C:\OpenSSL, en este caso mostrará errores del tipo WARNING: can't open config file: C:/OpenSSL/openssl.cnf Unable to load config info from C:/OpenSSL/openssl.cnf.
  • Al intentar usar la versión de OpennSSL provista por el instalador de MagicInfo puede fallar en la creación del fichero .csr, en este caso es necesario usar una versión distinta.
  • Ciertos proveedores pueden solicitar la verificación de la identidad del solicitante del certificado, usualmente consiste en realizar cambios al sitio web subiendo un archivo .html a un directorio específico, el cual sólo contendrá una cadena de carácteres indicada por el proveedor.

Primer arranque de MagicInfo Premium Server

Puede iniciar sesión con el usuario predeterminado (admin, clave admin2016) para realizar la activación de una licencia de producto, sin esto el panel sólo mostrará los menús de usuario y de ajustes.

Para activar una licencia de usuario es necesario dirigirse al menú ajustes > Información de licencia > Seleccionar la licencia que será utilizada, si desea probar el software antes de comprar una licencia, puede pulsar el botón "Licencia gratuita" el que le otorgará una licencia para su uso. Luego de esto debe cerrar sesión y al volver a iniciarla podrá acceder al resto de menús y añadir pantallas, grupos, contenido y listas de reproducción, programaciones, canales, revisar estadísticas, etc. Recuerde que en el menú Información de licencia puede consultar el historial de licencias usadas y las licencias activas.

Agregar una pantalla a MagicInfo

El proceso de agregar un dispositivo requiere 2 pasos:

  • Configurar la dirección del servidor y el puerto de MagicInfo en la pantalla usando el control remoto. Debe presionar el botón Menú y dirigirse a Red > Configuración de red del servidor > Conectar al servidor. En la barra de dirección basta con indicar el dominio ya que si mediante el navegador de internet accede usando la dirección https://web.dominio.com:7002/MagicInfo, la pantalla automáticamente añade /MagicInfo y usa el puerto indicado en la opción respectiva.
  • Dar de alta la pantalla en MagicInfo Server > Dispositivos > No Aprovados > Seleccionar dispositivos y presionar el botón Aprobar.

Configurar un dispositivo

Una pantalla que apunta al servidor de MagicInfo y está aprobada, puede administrarse desde el menú Dispositivos > Todos. Las configuraciones e información disponibles son:

  • Información del dispositivo, en el menú Dispositivos > Todos > Hacer click sobre el nombre del dispositivo
    • Contenido en reproducción y programaciones de contenido
    • Estado de descargas
    • Vista del uso de recursos del dispositivo (CPU, RAM, Red, tº de funcionamiento y alertas)
  • Administración del dispositivo, en el menú Dispositivos > Todos > Haciendo click sobre el nombre del dispositivo > Botón editar
    • Espacio en disco usado
    • Origen del contenido (MagicInfo, Hdmi, etc.)
    • Parámetros de funcionamiento: Volumen del audio en reproducción, Administración de color (calibración y programación de calibraciones)
    • Versión del S.O./Tizen
    • Nombre del dispositivo
    • Actualizar software
    • Configurar hora
  • Notificaciones
  • Errores
  • Alarmas
  • Administración de VideoWall
  • Grupo al que pertenece el dispositivo

Agregar contenido

Puede añadir contenido en el menú Contenido > Nuevo contenido, y subir videos e imágenes y decidir qué dispositivos serán compatibles, en el menú Contenido > Crear contenido le redirige a MagicInfo Author y aquí puede crear visualizaciones usando las plantillas, widgets y objetos provistos. Luego de tener el contenido puede crear una lista de reproducción en el menú Lista de reproducción.

Cuando haya planificado el orden de aparición del contenido puede ir al menú Programación y definir en qué tipo de dispositivo, hora, día, durante cuanto tiempo y en qué canal se mostrará el contenido. Si mostrará contenido permanentemente puede seleccionar las opciones Todo el día y No expira. Cuando guarde la programación le permitirá modificar el nombre, el grupo de programaciones al que pertenece, el grupo de dispositivos en que se reproducirá, y una descripción. En las opciones extra se muestran las opciones de música de fondo, reserva, y sincronización. Al guardar el contenido será publicado al grupo de dispositivos seleccionado

Iniciar / Reiniciar / Detener servicios

El servicio de Magicinfo server corre sobre un servidor Apache Tomcat y usa una base de datos postgreSQL, por lo que para reiniciar el servicio, basta con reiniciar el servicio del servidor Tomcat.

Dispositivos Compatibles con un servidor SSL

Según respuestas de Rafael Rojas y Pruebas en la oficina

  • S3: Se necesita actualizar Firmware(está en el FTP) probado en oficina con modelo DB55E
  • S4: Se probó en oficina el modelo PM43H
  • S5: Al igual que la S4 debiera cargar sin problemas
  • Modelo DB40E:Hay que instalar el ultimo FW
  • Modelo DB22D y DB10D Se necesita Firmware Especial