8000 GitHub - wrouesnel/KeeOtp2: 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.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
forked from tiuub/KeeOtp2

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.

License

Notifications You must be signed in to change notification settings

wrouesnel/KeeOtp2

 
 

Repository files navigation

** FORKED VERSION **

This is a personal fork which is managing tweaks to get this plugin working properly on Keepass2 running on Mono on Ubuntu 24.04. Some libraries have been updated - see packages.config for details.

This is sort of an unsatisfying middle ground at the moment - it works, but not nicely and the PLGX file won't install because Otp.Net 1.4.0 can't be loaded. But it does work with portable Keepass, which for how I use it works OK:

So, current usage:

  • Build the project for Release (I used Jetbrains Rider for this).

    • Specifically, I used dotnet MSBuild 16 to do the build.
  • Copy the output DLL's from bin/Release to the </Plugins/>

    • KeeOtp2.dll
    • NHotkey.dll
    • NHotkey.WindowsForms.dll
    • Otp.NET.dll
    • System.Buffers.dll
    • System.Memory.dll
    • System.Numerics.Vectors.dll
    • System.Resources.Extensions.dll
    • System.Runtime.CompilerServices.Unsafe.dll
    • Yort.Ntp.dll
    • zxing.dll
    • zxing.presentation.dll
  • Also copy these DLLs to your KeePass root directory (i.e. where KeePass.exe is):

    • System.Memory.dll
    • System.Resources.Extensions.dll
    • System.Runtime.CompilerServices.Unsafe.dll
  • Update the following into your KeePass.exe.config file:

			<dependentAssembly>
				<assemblyIdentity name="System.Resources.Extensions" culture="neutral" publicKeyToken="cc7b13ffcd2ddd51" />
				<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="8.0.0.0" />
			</dependentAssembly>

So it should look like this for KeePass 2.57:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
	<startup useLegacyV2RuntimeActivationPolicy="true">
		<supportedRuntime version="v4.0" />
		<supportedRuntime version="v2.0.50727" />
	</startup>
	<runtime>
		<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
			<dependentAssembly>
				<assemblyIdentity name="KeePass" publicKeyToken="fed2ed7716aecf5c" culture="neutral" />
				<bindingRedirect oldVersion="2.0.9.0-2.57.0.0" newVersion="2.57.0.21656" />
			</dependentAssembly>
			<dependentAssembly>
				<assemblyIdentity name="System.Resources.Extensions" culture="neutral" publicKeyToken="cc7b13ffcd2ddd51" />
				<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="8.0.0.0" />
			</dependentAssembly>
		</assemblyBinding>
		<enforceFIPSPolicy enabled="false" />
		<loadFromRemoteSources enabled="true" />
	</runtime>
	<appSettings>
		<add key="EnableWindowsFormsHighDpiAutoResizing" value="true" />
	</appSettings>
</configuration>

This will get everything working.

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

7AE5
Dependencie Source NuGetAuthor 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

About

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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 95.2%
  • Shell 2.6%
  • Batchfile 2.2%
0