Es necesario especificar qué tipo de Token utiliza.
Hay una serie de opciones aquí oí de:
- token de hardware
- software de aplicación token (Mac OS, Windows, iOS, Android, Windows Mobile, y algunos otros) navegador
- Web token de
favor marque este enlace para más detalles: http://www.emc.com/security/rsa-securid/rsa-securid-software-authenticators.htm#!offerings_for_web_browsers
Con token de hardware, necesitará usar algún tipo de cámara y leer los píxeles de la imagen tomada (no podré ayudarlo allí)
El token de software es más simple.
Recientemente he creado una pequeña herramienta de línea de comandos que puede ejecutar, ingresar el PIN y leer el código de acceso generado en la aplicación del token. No puedo enviarle la herramienta (propiedad de mi empresa), pero puedo darle algunos consejos sobre lo que debe hacer para crear su propia aplicación que hará lo mismo.
Pero primero debe decirme si utiliza el token de software o no.
OK. Como tiene un token de software, describiré lo que hace mi aplicación para conectarse automáticamente a VPN.
1) necesita tener su token de software configurado antes de hacer esto.
Además de eso, el cliente de VPN también deberá estar configurado, y la conexión debe aparecer en la lista de conexiones disponibles.
Cuando está configurado, puede hacer su conexión VPN automática.
Tenemos identificador de software similar a éste:
https://ssl.seagate.com/ssl/docs/soft_token_install_instructions.html
Nuestro Cliente VPN se ve se ve algo como esto:
http://wireless-setup.wsu.edu/msIPSEC.html
2) Una vez que todas las herramientas se configuran puede iniciar la conexión VPN.
Necesita estar preparado para investigar a fondo.
Chicos de RSA trabajaron muy duro para hacer que esto sea imposible, lo que estamos haciendo aquí.
No usan controles normales. Han creado sus propios controles para los que no tengo especificaciones para.
Lo he hecho usando las funciones API de C++ y WIN32. Esta es mi receta.
a) parámetros de lectura se pasan al programa
b) validar los parámetros que tienen número de parametros como el PIN, número de conexión para establecer, Comando a ejecutar cuando se establece la conexión, etc. Pueden ser codificado por supuesto, pero para ser flexible puedo pasarlos desde la línea de comandos.
c) cheque por token de aplicación [EnumWindows]
aplicación simbólico puede tener 2 ventanas de nivel superior [El uno se introduce el PIN y el otro con código de acceso]
Si detecto dos ventanas abiertas cierro la aplicación y reiniciarlo.
Puede intentar enviar el mensaje WM_CLOSE para cerrar la aplicación. Simulo usuarios de la acción de presionar "X" botón de cierre
//restore it <if minimized>
SendMessage(hwndTokenApplicationPinWindow,WM_SYSCOMMAND,SC_RESTORE,NULL);
//close the app
SendMessage(hwndTokenApplicationPinWindow,WM_LBUTTONDOWN,MK_LBUTTON,MAKELPARAM(223,14));
SendMessage(hwndTokenApplicationPinWindow, WM_LBUTTONUP,0,MAKELPARAM(223,14));
para iniciarlo utilizo CreateProcess función.
Al reiniciar la aplicación o si solo tenía una ventana abierta, ahora puede ingresar el PIN.
d) introduzca el PIN del
simulo usuarios dejaron clic en WM_LBUTTONDOWN ventana de pines, WM_LBUTTONUP.
Introduzco el pin usando WM_CHAR.
Una vez ingresado, haga clic en el botón Aceptar usando WM_LBUTTONDOWN, WM_LBUTTONUP.
Una vez completada, debe tener la ventana de Código de acceso visualizada.
e) Leer código de acceso
Para obtener el código de acceso utilizo el botón Copiar de la ficha. Este botón Copia datos al portapapeles.
simulamos al pulsar este botón: WM_LBUTTONDOWN, WM_LBUTTONUP
y leer datos desde el portapapeles:
BOOL InvalidData = FALSE;
OpenClipboard(NULL);
HANDLE clip0 = GetClipboardData(CF_UNICODETEXT);
wchar_t* p=(wchar_t*)GlobalLock(clip0);
if(wcslen(p) == MaxPasscodeSize-1)
wcscpy_s(currentPasscode,MaxPasscodeSize,p);
else if(wcslen(p) != MaxPasscodeSize-1 && wcslen(p) != 0)
{
wprintf(L"Error: Passcode in clipboard is invalid\n");
InvalidData = TRUE;
}
GlobalUnlock(clip0);
CloseClipboard();
Ahora usted tiene clave de acceso listo para ser utilizado en el cliente VPN de Cisco.
Háganme saber si tiene sentido para usted.
Si lo hace, y su aplicación funciona hasta este momento, por favor avíseme y aprobaré las instrucciones para tratar con el cliente VPN.
Si necesita instrucciones más detalladas para los pasos anteriores, por favor hágamelo saber.
Supongo que estás hablando de tokens usb RSA, un token sellado implicaría una cámara web y un OCR :) – ZJR
@ZJR, el cliente está usando RSA SecurId 700. Creo que "RSA SecurId Token para Windows" puede hacer clic en " Copie el botón "y obtenga el valor en el portapapeles y léalo desde allí. Sin embargo, dado que es un token, tengo que pensar en otras opciones. También el factor "tiempo de expiración" de una autenticación única también juega un papel. Si alguna api devuelve la clave segura y el tiempo restante para la validez de securekey, será más útil para la automatización de pruebas. – parishodak
Mejor poner "cámara web y OCR" en una respuesta real, entonces! A menos que pueda convencerlos de que emitan un token que no sea de hardware para fines de prueba ... – bobince