p12f.exe.pasarelapagos.security.app.manager.custom
Class DefaultSecurityManager

java.lang.Object
  extended byp12f.exe.pasarelapagos.security.app.manager.custom.DefaultSecurityManager
All Implemented Interfaces:
SecurityManagerInterface

public class DefaultSecurityManager
extends java.lang.Object
implements SecurityManagerInterface

Clase que implementa una validación simple de los contextos enviados desde Aplicaciones Clientes contra Aplicaciones Servers. 1.La clase cliente envia un Contexto con un token generado (HMAC) a través de una trama de datos coontra una clave asignada por un paquete servidor (pe:z99g) a un paquete cliente (p.e: z99i) 2.La clase cliente envia en la llamdas a los servicios del servidor el contexto generado. 3.La clase servidora regenera el HMAC a través de los datos-trama enviados desde el cliente. 4. Si el HMAC enviado desde Cliente coincide con el HMAC generado en el Servidor (además de comprobarse que no ha caducado), se considera contexto válido con permiso. Definición de un APP Client en el Server: A través de del HashMAC enviado desde una app cliente se calcula en el servidor. Si coinciden tiene permiso.


Constructor Summary
DefaultSecurityManager(java.lang.String appCode)
           
 
Method Summary
static DefaultXMLToken _generateTokenData(java.lang.String appClientID, java.lang.String appClientKey, java.lang.String appClientSessionID, java.lang.String timestamp)
          Genera un Objeto Token a través de una trama de datos
static java.lang.String _HMAC_MD5_encode(java.lang.String key, java.lang.String message)
          Obtiene el HMAC de una trama de datos baándonos en un clave privada, la trama misma y el algoritmo MD5.
static long _howMillisLongWasThisCTX(java.util.Date eventDate)
          Devuelve cuantos milisegundos han pasado desde que el token se generó.
 boolean hasPermission(SecurityContext ctx)
          Determina si se tiene permiso a partir de una deternminado contextoo.
static void main(java.lang.String[] argv)
          Test
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultSecurityManager

public DefaultSecurityManager(java.lang.String appCode)
Method Detail

hasPermission

public boolean hasPermission(SecurityContext ctx)
                      throws java.lang.SecurityException
Determina si se tiene permiso a partir de una deternminado contextoo.

Specified by:
hasPermission in interface SecurityManagerInterface
Parameters:
ctx -
Throws:
T08FSecurityException
java.lang.SecurityException

_generateTokenData

public static DefaultXMLToken _generateTokenData(java.lang.String appClientID,
                                                 java.lang.String appClientKey,
                                                 java.lang.String appClientSessionID,
                                                 java.lang.String timestamp)
                                          throws java.lang.Exception
Genera un Objeto Token a través de una trama de datos

Parameters:
appClientID -
appClientKey -
appClientSessionID -
timestamp -
Returns:
Throws:
java.lang.Exception

_HMAC_MD5_encode

public static java.lang.String _HMAC_MD5_encode(java.lang.String key,
                                                java.lang.String message)
                                         throws java.lang.Exception
Obtiene el HMAC de una trama de datos baándonos en un clave privada, la trama misma y el algoritmo MD5.

Returns:
Throws:
java.lang.Exception

_howMillisLongWasThisCTX

public static long _howMillisLongWasThisCTX(java.util.Date eventDate)
Devuelve cuantos milisegundos han pasado desde que el token se generó.


main

public static void main(java.lang.String[] argv)
                 throws com.ejie.r01f.xml.marshalling.XOMarshallerException
Test

Throws:
MarshallerException
com.ejie.r01f.xml.marshalling.XOMarshallerException