• Stars
    star
    125
  • Rank 286,335 (Top 6 %)
  • Language
    C#
  • License
    MIT License
  • Created almost 4 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

KeeOtp2 is a plugin for KeePass. It provides a form to display one time passwords and is fully compatible with the built-in OTP function.

KeeOtp2

Latest Release GitHub All Releases Issues GitHub Donate

KeeOtp2 is a plugin for KeePass. It provides a form to display one time passwords. The TOTP secret keys are stored in a normalized format, so this plugin is fully compatible with the built-in OTP function. It also can be used as a GUI for the built-in OTP function. (The plugin can also migrate saved KeeOtp(1) secrets, to the new built-in function.)

This plugin is based on KeeOtp(1), which was originally developed by devinmartin. Since devinmartins website is no longer available, I have reuploaded the original source code here (or at archive.org).

Installation

  • Download the latest release here.
  • Copy the KeeOtp2.plgx in the KeePass plugins directory and restart the application.

Alternative Installation

  • Using chocolatey in Powershell with choco install keepass-plugin-keeotp2

Usage

Configure TOTP

Right-click an entry, click on KeeOtp2 and press Configure TOTP.

This will open the configuration window.

Configuration Window

Enter the key you have received and press OK.

Now you can see the TOTP by right-clicking an entry, hovering on KeeOtp2 and clicking Show TOTP.

Migrate from KeeOtp1 to KeeOtp2/Built-In OTP

Click on Tools, navigate to KeeOtp2 and press Settings.

There you can migrate all of your entries to KeeOtp2/Built-In OTP by selecting your target format and clicking on OK.

Settings

Another way to migrate

Just right-click any entry in your database and click on Timed One Time Password.

Right-click an entry, hover KeeOtp2 and click Configure TOTP. When the configuration window is opened, click on Migrate to Built-In (blue label) in the upper half.

Auto-Type

Hotkey

Default Hotkey: CTRL + ALT + T

You can set a global hotkey to auto-type your TOTP. Therefore you have to click on Tools, navigate to KeeOtp2 and press Settings. There you can activate or disable the global hotkey and set your own key combination.

Placeholder

This plugin supports the built-in Auto-Type function.

Placeholder Usage
{TOTP} Was used by KeeOtp(1) (Deprecated)
{TIMEOTP} Can be used with KeeOtp2 and built-in TOTP (Recommended)

Still you can use {TOTP}, but it's rather recommended to use the built-in placeholder {TIMEOTP}.

Global Time

You can configure your specific time for generating TOTPs. Therefore you have three options in the Settings form.

Settings

Setting Description
Use time of system This will basically use the time of your system
Fixed time offset (sec.) This will set a fixed time offset to your systemtime. (For example if you know, your system is running 5 seconds behind or 50 seconds forward.)
Custom NTP server This will poll the given NTP server to get the current and correct time.

Sharing OTP Configuration

You can either share your OTP configuration with a URI string (otpauth://...) or with a QR code.

Therefore you have to right-click the target entry, hover on KeeOtp2, click on Show TOTP and click on Show QR.

Then you can scan the shown QR code or click on Copy URI to copy the URI string to your clipboard.

Troubleshooting

Sometimes the generation of TOTPs will fail. The most common failure is a wrong system time.

The best way to prove this, is by manually checking your system time or let the plugin prove it for you. Therefore you have to right-click a configured entry, hover on KeeOtp2, click on Show TOTP and if the window opens up, click on Incorrect?. Then you can press on Ping NTP server.

If the ping result is over 5 seconds, you should change your time settings. You can do this in the operating system or inside the plugin. Therefore you can check out the section Global Time to set a fixed time offset or a custom NTP server.

Download

You can download the .plgx file here.

Compiling

If you want to compile the project by yourself, you have to clone the repository and run the makeplgx.bat file. This will create a new folder in your cloned repository, called Releases. There you can find your self-compiled .plgx file.

License

GitHub

Dependencies

Dependencie Source NuGet Author License
KeeOtp(1) source/archive - Devin Martin MIT
Otp.NET source NuGet Kyle Spearrin MIT
Yort.Ntp.Portable source NuGet Troy Willmot MIT
ZXing.Net source NuGet Michael Jahn Apache 2.0
NHotkey source NuGet Thomas Levesque Apache 2.0
NHotkey.WindowsForms source NuGet Thomas Levesque Apache 2.0

Dependencies (KeeOtp2.Tests)

Dependencie Source NuGet Author License
xunit source NuGet xunit Apache 2.0
xunit.analyzers source NuGet xunit Apache 2.0
xunit.assert source NuGet xunit Apache 2.0
xunit.core source NuGet xunit Apache 2.0
xunit.runner.visualstudio source NuGet xunit Apache 2.0
xunit.extensibility.core source NuGet xunit Apache 2.0
xunit.extensibility.execution source NuGet xunit Apache 2.0

Icons

Icon Source Brand Author License
info Google Fonts Material design icons Google Apache License Version 2.0
lock Google Fonts Material design icons Google Apache License Version 2.0
qr_code Google Fonts Material design icons Google Apache License Version 2.0
schedule Google Fonts Material design icons Google Apache License Version 2.0
settings Google Fonts Material design icons Google Apache License Version 2.0
help Google Fonts Material design icons Google Apache License Version 2.0