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.
Type Name Latest commit message Commit 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

Install Maven.

Download lcrypto-j2me-xxx archive ("xxx" - current version of lcrypto, for example "lcrypto-j2me-160.tar.gz") from the Bouncy Castle website, extract it and install the classes as a JAR file to your local repository:

tar xf ./lcrypto-j2me-160.tar.gz
mvn install:install-file -Dfile=lcrypto-j2me-160/zips/ -DgroupId=org.bouncycastle -DartifactId=lcrypto-j2me -Dversion=1.60 -Dpackaging=jar

Build the totp-me and feed it with lcrypto version from the previous step:

mvn clean package -Dlcrypto.version=1.60

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 (provide lcrypto version if needed).

mvn exec:java -Dlcrypto.version=1.60