Skip to content

Create E*Trade Security Token for Two Factor Login using Yubikey Neo

License

Notifications You must be signed in to change notification settings

systemsplanet-zz/java-vipaccess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This Maven project builds java vipaccess.jar which 
creates an E*Trade Security Token you can 
store in a Yubikey Neo hardware key and
register with E*Trade for Two-Factor Login.

For a single-html-file browser-based port of this project, see:
  See https://github.com/systemsplanet/javascript-vipaccess                         


Build (one time)
    Edit install.cmd to configure Java and Apache Maven:

      set "JAVA_HOME=c:\Program Files\Java\jdk1.8.0_121"
      set "M2_HOME=c:\Program Files\Maven3.2.2"

      
Runtime (one time)
    Execute Run.cmd from a windows command prompt.
    
    Run.cmd builds and runs vipaccess.jar which generates 
    an E*Trade Credential ID (eg VSMT12345689) and 
    displays the location of a generated png image file (open with mspaint) 
    containing a QR Code with the generated TOTP Secret Key.
    
Yubikey Neo Configuration (one time)
    To add the generated E*Trade Secret Key to your Neo hardware key:
        Open the QR Code image file in mspaint using Windows Explorer.
        Open the Yubikey Phone App, select the + at the top right.
        Scan the QR Code from your screen.
    
E*Trade Configuration (one time)
    Login to E*Trade 
        https://us.etrade.com/e/t/user/login
        
    Configure your account (My Profile / Security & Passwords/ Manage Security ID/ SET UP A NEW SECURE ID)
        https://us.etrade.com/e/t/accounts/mfaactivatetoken?FirstTime=YES
            Mobile Phone#:  Enter your phone number    
            Credential ID:  Enter output from Run.cmd (eg VSTM1234566)
            Security Code:  Run the Yubikey App, Scan your Neo key using NFC, enter the displayed 6 digit OTP VIP Access code
            Click Activate

E*Trade Login (each time)
    To Login at E*Trade with Two Factor Auth:
        Open a browser to
            https://us.etrade.com/e/t/user/login
            Enter your User Id
            Enter your Password 
            Open the Yubikey app on your phone
            Scan your Neo Token            
            Add the displayed 6 digit VIP Access code to the end of your Password            
            Click LOG ON
    
  

Example vipaccess.jar Output
       
    02:08:09.318 INFO  com.systemsplanet.vipaccess.cmd.CmdConfig          handleArg       debug enabled from commandline
    02:08:09.318 INFO  com.systemsplanet.vipaccess.cmd.CmdConfig          handleArg       mode:[VSMT]
    02:08:09.318 INFO  com.systemsplanet.vipaccess.cmd.CmdConfig          handleArg       proxyHost:[localhost]
    02:08:09.318 INFO  com.systemsplanet.vipaccess.cmd.CmdConfig          handleArg       proxyPort:[8888]
    02:08:09.318 INFO  com.systemsplanet.vipaccess.VipAccessMain          main            arguments:[-debug false -silent false -mode mobile -proxyHost localhost -proxyPort 8888] isSilent:false isDebug:false mode:VSMT
    02:08:11.056 INFO  com.systemsplanet.vipaccess.VipAccessMain          main            VipToken[status=Success,salt64=xxxxx=,iteration_count=50,iteration_count_int=50,iv64=xxx==,expiry=2020-02-01T07:08:11.026Z,id=VSMTnnnnnnnn,cipher64=xxx=,digest64=xxx=,salt={},iv={},cipher={},digest={}]
    02:08:12.766 INFO  com.systemsplanet.vipaccess.VipAccessMain          main            BE AWARE that this new credential expires on this date: 2020-02-01T07:08:11.026Z
    02:08:12.766 INFO  com.systemsplanet.vipaccess.VipAccessMain          main            E*Trade Id: VSMTnnnnnnnn
    02:08:12.768 INFO  com.systemsplanet.vipaccess.VipQrCode              writeQRCode     otpauth://totp/VIP_Access:VSMTnnnnnnnn?issuer=Symantec&secret=xxxxx&
    02:08:12.769 INFO  com.systemsplanet.vipaccess.VipQrCode              writeQRCode     QR Code image file: C:\Users\xxx\AppData\Local\Temp\qrcode4851386043412303757.png
   

Maven Modules
    app\oath-otp                    fork of https://github.com/johnnymongiat/oath/tree/master/oath-otp                  modified to allow Issuer And Label Account Name to differ
    app\oath-otp-keyprovisioning    fork of https://github.com/johnnymongiat/oath/tree/master/oath-otp-keyprovisioning  modified to allow Issuer And Label Account Name to differ
    app\vipaccess                   main java program


Important Files
    install.cmd                 Setup dev environment variables
    run.cmd                     build and run the app
    
    app\vipaccess\src\main\java\com\systemsplanet\vipaccess\
        VipAccessMain.java      Main Java Entry
        VipConst.java           Constants
        VipEnc.java             Encoding/Encryption methods
        VipQrCode.java          QR Code methods
                

LINKS
    https://www.yubico.com/products/yubikey-hardware/yubikey-neo/
    https://us.etrade.com/security-center
    https://github.com/cyrozap/python-vipaccess/blob/master/vipaccess/utils.py      - Original Python Script this app was ported from
    https://github.com/systemsplanet/javascript-vipaccess                           - single html file browser version 

About

Create E*Trade Security Token for Two Factor Login using Yubikey Neo

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published