È necessario specificare che tipo di Token che si usa.
Ci sono certo numero di scelte qui ho sentito parlare di:
- token hardware
- software applicativo del token (Mac OS, Windows, iOS, Android, Windows Mobile, e pochi altri) del browser
- web Token
prega di consultare questo link per maggiori informazioni: http://www.emc.com/security/rsa-securid/rsa-securid-software-authenticators.htm#!offerings_for_web_browsers
Con il token hardware è necessario utilizzare un tipo di fotocamera e leggere i pixel dell'immagine scattata (non sarò in grado di aiutarti)
Il token software è più semplice.
Ho recentemente creato un piccolo strumento da riga di comando che è in grado di eseguire, immettere il PIN e leggere il passcode generato nell'applicazione token. Non posso inviarti lo strumento (proprietà della mia azienda), ma posso darti alcuni consigli su cosa devi fare per creare la tua applicazione che farà lo stesso.
Ma prima è necessario dirmi se si utilizza il token software o meno.
OK. Dato che hai un token software, descriverò ciò che la mia app fa per connettersi automaticamente alla VPN.
1) è necessario configurare il token software prima di procedere.
Inoltre, è necessario configurare anche il client VPN e la connessione deve essere elencata nell'elenco delle connessioni disponibili.
Quando è configurato, è possibile eseguire la connessione VPN automatica.
Abbiamo token software simile a questo:
https://ssl.seagate.com/ssl/docs/soft_token_install_instructions.html
sembra client VPN Il nostro sembra qualcosa di simile a questo:
http://wireless-setup.wsu.edu/msIPSEC.html
2) Una volta che tutti gli strumenti sono configurati è possibile avviare la connessione VPN.
Devi essere pronto a fare indagini approfondite.
I ragazzi della RSA hanno lavorato duramente per rendere impossibile ciò che stiamo facendo qui.
Non usano controlli ordinari. Hanno creato i propri controlli Non ho spec. per.
L'ho eseguito utilizzando le funzioni API C++ e WIN32. Questa è la mia ricetta
a) parametri di lettura passati al programma
b) validare i parametri Ho il numero di params come PIN, numero di connessione per stabilire, Command per eseguire quando viene stabilita la connessione ecc Essi possono essere codificato naturalmente, ma per essere flessibile posso passarli dalla riga di comando.
c) di controllo per l'applicazione del token [EnumWindows]
Token applicazione può avere 2 finestre di alto livello [quello di inserire il PIN, e l'uno con codice di accesso]
Se rilevo entrambe le finestre aperte chiudo l'app e riavvialo.
Puoi provare a inviare il messaggio WM_CLOSE per chiudere l'app. I simulare utenti azione di premere il tasto "X" vicino
//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));
di avviarlo io uso CreateProcess funzione.
Quando si riavvia l'app o è stata aperta una sola finestra, è ora possibile immettere il PIN.
d) inserire il PIN
I simulare utenti lasciato cliccare sulla finestra pin WM_LBUTTONDOWN, WM_LBUTTONUP.
Inserisco il pin utilizzando WM_CHAR.
Una volta immesso, fare clic sul pulsante OK utilizzando WM_LBUTTONDOWN, WM_LBUTTONUP.
Una volta completato, si dovrebbe visualizzare la finestra Codice di accesso.
e) Leggi codice
Per ottenere il codice di accesso che uso pulsante Copia dal token. Questo pulsante Copia i dati negli appunti.
simuliamo premendo questo tasto: WM_LBUTTONDOWN, WM_LBUTTONUP
e leggere i dati dagli appunti:
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();
Ora avete codice di accesso pronto per essere utilizzato nel client Cisco VPN.
Per favore fatemi sapere se ha senso per voi.
Se lo fa, e la tua app funziona fino a questo punto, fammelo sapere e passerò le istruzioni per gestire il client VPN.
Se avete bisogno di istruzioni più dettagliate per i passaggi precedenti, fatemelo sapere.
Supponiamo che tu stia parlando di token RSA USB, un token sigillato implicherebbe una webcam e un OCR :) – ZJR
@ZJR, Il client utilizza RSA SecurId 700. Suppongo che "RSA SecurId Token per Windows" possa fare clic su " Copia il pulsante "e prendi il valore negli appunti e leggilo da lì. Tuttavia dal momento che è un token devo pensare ad altre opzioni. Anche il fattore "expiry time" di un'autenticazione una tantum svolge un ruolo. Se qualsiasi API restituisce la chiave di sicurezza e il tempo residuo per la validità di securekey, sarà più utile per l'automazione del test. – parishodak
Meglio mettere "webcam e OCR" come una vera risposta allora! A meno che non si riesca a convincerli a emettere un token non hardware per i propri scopi di test ... – bobince