Analitica Arellanos

Adquisiciones

Fuentes de visitas

Todas las páginas

Sexo

Edad

Ciudad

Navegadores

Resolución

Protegido: alarma_vecinal

Este contenido está protegido por contraseña. Para verlo, por favor, introduce tu contraseña a continuación:

Certificado SSL

La integridad y seguridad de los datos de nuestros clientes es muy importante para nosotros por ello a partir del 09 de Junio 2017 les incluimos un certificado de seguridad SSL – TSL 1.2 128 bits gratis en nuestros planes de hosting .

 

¿En qué te beneficia?

Formulario para solicitar certificado:

[contact-form-7 id=»1177″ title=»solicitar ssl»]

 

¿Qué es Certificado SSL – Secure Socket Layer ?

SSL proporciona autenticación y privacidad de la información entre extremos sobre Internet mediante el uso de criptografía. Habitualmente, sólo el servidor es autenticado (es decir, se garantiza su identidad) mientras que el cliente se mantiene sin autenticar.

SSL implica una serie de fases básicas:

¿Qué es TLS 1.2?

TLS 1.2 fue definido en el RFC 5246 en agosto del 2008. Se basa en una especificación posterior de TLS 1.1. Las mayores diferencias son:

  • la combinación MD5SHA-1 en la función pseudoaleatoria (PRF) fue reemplazada por SHA-256, con la opción de usar PRFs especificados en la cipher-suite.
  • la combinación MD5-SHA-1 en el mensaje terminado fue reemplazada por SHA-256, sin la opción de usar algoritmos de hash específicos para la cipher-suite. Sin embargo, el tamaño del hash en el mensaje terminado es truncado a 96 bits.
  • la combinación MD5-SHA-1 en el elemento digitalmente firmado fue reemplazada por un hash simple negociado durante el handshake, que por defecto es SHA-1.
  • Mejoras en la habilidad de clientes y servidores para especificar que algoritmos de hash y de firma van a aceptar.
  • Expansión del soporte de cifras de cifrado autenticadas, usadas mayormente para modo Galois/Counter (GCM) y modo CCM del cifrado con Advanced Encryption Standard (o estándar de cifrado avanzado) (AES).
  • Se agregaron definición de Extensiones de TLS y de Ciphersuites de AES.

TLS 1.2 fue después redefinido en el RFC 6176 de marzo de 2011 redactando su retrocompatibilidad con SSL y TLS para que dichas sesiones jamás negocien el uso de SSL versión 2.0.

Info tomada de: www.es.wikipedia.org/wiki/Transport_Layer_Security

Notas importantes: 

  • El certificado SSL – TSL 1.2 128 bits  no tiene costo alguno para los clientes de mundosica.com y Hagamosweb.com pero es posible aplicar cargo por concepto de implementación de corrección de URLs de http a https por un total de $390
  • Aplica para todos los clientes que contratan plan anual de hosting
  • Certificado verificado por letsencrypt.org

 

Mis abuelos decían…

A continuación dejo mi presentación en la Universidad Politécnica de Tlaxcala, una recopilación de refranes que mis abuelos me decían frecuentemente para guiar mis pasos.

Enviando correos electrónicos desde Java – haciendo clase Gmail con conexión SMPT con SSL

Java Gmail

Java Gmail

En el siguiente contenido consta de dos partes:

En la primera explicare como establecer una conexión con Gmail con el protocolo smpt y bajo la capa de conexión segura(SSL).

En la segunda voy a explicar acerca de una clase(Gmail.java)  que podemos re-utilizar para el envio de correos electronicos desde nuestros proyectos en Java.

Parte 1 – Proceso básico del envío de correos electrónicos:

Lo primero vamos a explicar cual es el procedimiento básico de envíos de correos electrónicos con SMTP con Java utilizando la API de: Javax.mail , el cual el proceso básico consiste en tres partes:

  1. Establecer las propiedades de la conexión.
  2. Autenticarse y establecer una sesión.
  3. Agregando atributos del email y envio.

Como se comento vamos a ocupar javax.mail la cual sera una dependencia de nuestro código, para resolver dicha dependencia podemos ocupar maven:

 <dependency>
        <groupId>javax.mail</groupId>
        <artifactId>mail</artifactId>
        <version>1.4</version>
    </dependency>

O bien lo puedes descargar el .jar desde:
http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-eeplat-419426.html#javamail-1.4.7-oth-JPR

1.- Estableciendo propiedades

Lo primero que tenemos que hacer es definir las propiedades de nuestra conexión para esto ocupamos el paquete java.util.Properties donde vamos a establecer el puerto 465 y activamos la autenticación con capa SSL.

// Paso 1 estableciendo las propiedades de conexión
java.util.Properties mailServerProperties;
mailServerProperties = System.getProperties();
mailServerProperties.put("mail.smtp.host", "smtp.gmail.com");
mailServerProperties.put("mail.smtp.socketFactory.port", "465");
mailServerProperties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
mailServerProperties.put("mail.smtp.auth", "true");
mailServerProperties.put("mail.smtp.port", "465");

 

2.- Autenticandose

Vamos a identificarnos y establecer sesión para esto ocupamos el paquete javax.mail.Session, como se ve a continuación:

javax.mail.Session getMailSession = Session.getDefaultInstance(
       mailServerProperties,
       new javax.mail.Authenticator() {
	protected PasswordAuthentication getPasswordAuthentication() {
		return new PasswordAuthentication("mi.cuenta@gmail.com", "mi password");
	}
});

3.- Enviado el correo

Enviando el correo

javax.mail.internet.MimeMessage generateMailMessage;
generateMailMessage = new MimeMessage(getMailSession);
//Estableciendo el destino (TO)
generateMailMessage.addRecipient(Message.RecipientType.TO, new InternetAddress("destino@server.com"));

//Estableciendo el destino de la copia (CC)
generateMailMessage.addRecipient(Message.RecipientType.CC, new InternetAddress("con.copia@gmail.com"));

//Estableciendo el destino de la copia oculta (BCC)
generateMailMessage.addRecipient(Message.RecipientType.BCC, new InternetAddress("bcc@hotmail.com"));

//Estableciendo el titulo del mensaje (subject)
generateMailMessage.setSubject("titulo del mensaje a enviar");

// Estableciendo el contenido del correo electronico enriquesido(HTML)
String bodyEmail = "<h1>correo desde gmail</h1><p>Enviado de forma exitosa</p>";
generateMailMessage.setContent(bodyEmail, "text/html");

//Finalmente  enviamos el correo
javax.mail.Transport.send(generateMailMessage);

Parte 2 .- Clase Gmail Una clase lista para enviar desde Gmail

Vamos a crear una clase llamada Gmail en donde le vamos a agregar lo anterior explicado a la vez que la creamos de una forma que sea muy fácil de reutilizar, veamos como quedaría:

package com.mundosica.core.Utils;

import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class Gmail {
    static Properties mailServerProperties;
    static Session getMailSession;
    static MimeMessage generateMailMessage;
    static String login = "username";
    static String password = "secret";
    static String to = null;
    static String cc = null;
    static String bcc = null;
    static String subject = null;
    static String body = null;
    
    public static void config(String... namesAndValues) {
        if (namesAndValues.length % 2 == 1) {
            throw new IllegalArgumentException("The number of arguments must be pair.");
        }
        String nameConfig = null, valueConfig = null;
        for (int i = 0; i < namesAndValues.length - 1; i += 2) {
            nameConfig = namesAndValues[i].trim().toLowerCase();
            valueConfig = namesAndValues[i +1];
            switch    (nameConfig) {
                case "username":
                case "login":
                    Gmail.login = valueConfig;
                    break;
                case "password":
                case "pass":
                    Gmail.password = valueConfig;
                    break;
                case "to":
                    Gmail.to = valueConfig;
                    break;
                case "cc":
                    Gmail.cc = valueConfig;
                    break;
                case "bcc":
                    Gmail.bcc = valueConfig;
                    break;
                case "title":
                case "subject":
                    Gmail.subject = valueConfig;
                    break;
                case "msg":
                case "body":
                    Gmail.body = valueConfig;
            }
        }
    }
    public static Boolean send(String... namesAndValues) {
        Gmail.config(namesAndValues);
        try {
            return Gmail.send();
        } catch (MessagingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return false;
    }
    public static Boolean send() throws AddressException, MessagingException {
        Boolean success = false;
        // step 1 set connection properties
        mailServerProperties = System.getProperties();
        mailServerProperties.put("mail.smtp.host", "smtp.gmail.com");
        mailServerProperties.put("mail.smtp.socketFactory.port", "465");
        mailServerProperties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        mailServerProperties.put("mail.smtp.auth", "true");
        mailServerProperties.put("mail.smtp.port", "465");
        // step 2 Authentication
        if (Gmail.login == null || Gmail.password == null) {
                return success;
        }
        Session getMailSession = Session.getDefaultInstance(mailServerProperties,new javax.mail.Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(Gmail.login, Gmail.password);
            }
        });

        // step 3 sending Email
        generateMailMessage = new MimeMessage(getMailSession);
        if (Gmail.to != null) {
            generateMailMessage.addRecipient(Message.RecipientType.TO, new InternetAddress(Gmail.to));
        }
        if (Gmail.cc != null) {
            generateMailMessage.addRecipient(Message.RecipientType.CC, new InternetAddress(Gmail.cc));
        }
        if (Gmail.bcc != null) {
            generateMailMessage.addRecipient(Message.RecipientType.BCC, new InternetAddress(Gmail.bcc));
        }
        if (Gmail.subject == null) {
            Gmail.subject = "subject gmail object";
        }
        generateMailMessage.setSubject(Gmail.subject);
        if (Gmail.body == null) {
            Gmail.body = "<h1>body gmail object</h1><p>it's a simple test</p>";
        }
        generateMailMessage.setContent(Gmail.body, "text/html");
        javax.mail.Transport.send(generateMailMessage);
        return success;
    }

}

Test Haciendo una prueba

Haciendo una prueba con Junit, dejo dos ejemplos de como utilizar la clase Gmail:

import org.junit.Test;
public class GmailTest {

    @Test
    public void testSendDirecto() {
        Gmail.send(
                "login", "some.user@gmail.com",
                "password", "secret",
                "to", "edw_inkisidor@hotmail.com",
                "cc", "chanerec@gmail.com",
                "bcc", "eymard@gmail.com",
                "subject", "prueba de email",
                "body", "<h1>Esto es una prueba de envio de correos</h1><p>exitosa!!</p>"
        );
    }
    
    @Test
    public void testConfigYSend() {
        //Esto quizas en el archivo de configuracion
        Gmail.config(
                "username", "some.user@gmail.com", //alias de login
                "pass", "**secret**", //alias de password
                "to", "edw_inkisidor@hotmail.com",
                "cc", "chanerec@gmail.com",
                "bcc", "eymard@gmail.com"
        );
        //esto en donde se envia el correo previamente ya configurado los parametros
        Gmail.send(
                "title", "prueba de email",//alias de subject
                "msg", "<h1>Esto es una prueba de envio de correos</h1><p>exitosa!!</p>"
        );
    }
}

Código en github

Este código forma parte de un conjunto de clases que hemos desarrollado en mundosica.com, del cual extraje esta parte y lo dejo en github para quien lo guste usar:

Visitar proyecto

Diseño web

Más allá de solo la presencia web es importante pensar en los objetivos que se desean conseguir con un web site. En algunos casos los clientes ya tienen website pero

¿su sitio se visualiza en dispositivos móviles?

¿Su sitio web solo se puede ver si tiene instalado flashplayer?

Muchos de los usuarios de dispositivos móviles no descargan flash solo para ver un solo sitio web. Nuestro trabajo es hacer fácil el de usted.

Manual Instalación/configuración de Eclipse para android

Instalando Eclipse Standard

Descargamos el eclipse standard de la pagina oficial de Eclipse siguiendo el siguiente enlace.

https://www.eclipse.org/downloads/

En este caso instalamos la versión Eclipse Standard 4.3.2.

Agregando Soporte para Android ADT

informacion: https://dl-ssl.google.com/android/eclipse/

  • Iniciamos Eclipse, nos vamos en el menu Help > Install New Software.
  • Le damos clic en agregar (Add), en la esquina superior derecha.
  • Agregamos un repositorio agregando un nombre descriptivo p.e. «ADT Plugin» que apunte a la siguiente dirección:

https://dl-ssl.google.com/android/eclipse/

agregando_repositorio

Nota: el «The Android Developer Tools» requiere una conexión segura (https).

detalles_de_instalacion

Aceptamos las condiciones de la licencia y le damos finalizar.

Al finalizar nos va a pedir reiniciar eclipse, lo damos aceptar, una vez reiniciado nos va a pedir la ruta en donde agregara el sdk:

agregando_sdk

Dejamos la ruta por defecto la cual es C:\Users\<user>\android-sdks donde <user> sera nuestro usuario en cuestión.

contribuir_estadisticas

Seleccionamos el paquete raíz y aceptamos la licencia:

seleccion_paquetes_sdk

Le damos instalar (install), nos va a descargar los paquetes seleccionados.

A continuación nos va a salir un manejador de paquetes SDK, seleccionamos instalar algunos, del cual seleccionamos:

  • Tools
    • Android SDK build-tools (la versión mas actual disponible)
  • Android Api
    • Documentation for Android SDK
    • SDK Platform
    • Samples for SDK
    • Android Wear System image
    • ARM EABI System image
    • Source for Android SDK

android_sdk_manager

seleccion_de_sdk

Una vez que le demos install nos esperamos un rato a que descargue E instale todos los paquetes seleccionados.

 

Creando Proyecto para Android

Finalmente nos vamos a nuevo, de ahí personalizado extendemos la opción de Android y creamos un proyecto para Android o corremos algún ejemplo(si instalaste ejemplos).

 

creando_proyecto_android creando_proyecto_android2

Convocatoria OMI 2014

El día de hoy al visitar la Escuela Secundaria Moisés Saenz Garza me enteré de la IMG_20140207_162005la siguiente convocatoria a Olimpiada Oaxaqueña de Informática 2014, aquí dejo información que me encontré en el sitio: olimpiadadeinformatica.org.mx Leer más

Lo que aprendí del Super Bowl XLVIII

super-bowl-xlviii-doug-baldwin-champ-bailey_pg_600Como algunos de ustedes saben éste Super Bowl lo esperé con mucho entusiasmo, desde inicio de temporada aposté por Broncos de Denver para finalista y estaba seguro que con el liderazgo de Peyton Manning el equipo sería campeón de una liga tan competitiva como la NFL, luego de vencer con contundencia a los Patriotas no me quedaba duda, la mejor ofensiva, el mejor equipo sería campeón.

Leer más

Los sitios web más visitados en México durante 2013

El presente es un breve análisis de los sitios más visitados en México durante el año 2013, el objetivo es agrupar los sitios web más visitados en categorías de acuerdo a su modelo de negocio, con esto observar las principales tendencias a futuro. La estadística web fue realizada por ALEXA, la analítica es realizada por el equipo de www.mundosica.com
En palabras de ALEXA: «Los sitios en los mejores sitios de las listas se ordenan según su rango de tráfico 1 mes alexa.
El rango de 1 mes se calcula utilizando una combinación de los visitantes y páginas vistas diarias promedio en el último mes. El sitio con la combinación más alta de visitantes y páginas vistas es el número 1.«sitios-mas-visitados-2013

Leer más