TOTP authenticator for Java ME enabled devices. It's an implementation of the RFC 6238 - TOTP: Time-Based One-Time Password Algorithm.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

TOTP for Java ME

Java ME TOTP (RFC 6238) authenticator. It can be used as a token generator for

  • Google's two phase authentication
  • LinOTP authentication
  • other authentication servers which support TOTP

Project web



You can simply build the software yourself.

How to get the sources

You should have git installed

$ git clone git://

or you can download current sources as a zip file

How to build it

Download ("xxx" - current version of lcrypto, for example "") from the Bouncy Castle website and extract it to new lcrypto-j2me folder.

Copy folder totp-me/for-lcrypto-j2me/ contents to lcrypto-j2me folder.

Correct the lcrypto-j2me version number in pom.xml files

  • lcrypto-j2me/pom.xml: find <version>1.56</version>
  • totp-me/pom.xml: find <artifactId>lcrypto-j2me</artifactId> .. <version>1.56</version>

Install Maven.

Build and install lcrypto-j2me

$ cd lcrypto-j2me
$ mvn clean install

Build totp-me

$ cd ../totp-me
$ mvn clean package

This default build uses Microemulator API implementation to simplify the build process, but it's only MIDP-2.0 implementation. To be sure the source code is MIDP-1.0 compatible, you should install Oracle WTK and provide path to it to Maven as wtk.home system property

$ mvn clean package -Dwtk.home=/opt/WTK2.5.2

How to run it in the Microemulator

Just use exec:java goal after you've successfully built the project

$ mvn exec:java