Notices: This section not yet converted to new layout. Download stats are rolling back out.

KeePass Plugin KeeOtp

1.3.9

Package test results are passing.

This package was approved by moderator ferventcoder on 12/28/2015.

This is a KeePass plugin that adds support for two factor authentication into other systems using TOTP (Timed One Time Passwords). It stores TOTP secret keys in the KeePass database and generates TOTP codes from the key within KeePass.

KeeOtp is compatible with Google 2-Step Verification and Amazon AWS MFA. It will work with most other RFC 6238 compliant TOTP implementations as well.

To install KeePass Plugin KeeOtp, run the following command from the command line or from PowerShell:

C:\> choco install keepass-plugin-keeotp

To upgrade KeePass Plugin KeeOtp, run the following command from the command line or from PowerShell:

C:\> choco upgrade keepass-plugin-keeotp

Files

Hide
  • tools\chocolateyInstall.ps1 Show
    # powershell v2 compatibility
    $psVer = $PSVersionTable.PSVersion.Major
    if ($psver -ge 3) {
      function Get-ChildItemDir {Get-ChildItem -Directory $args}
    } else {
      function Get-ChildItemDir {Get-ChildItem $args}
    }
    
    $packageName = 'keepass-plugin-keeotp'
    $typName = 'KeeOtp.plgx'
    $packageSearch = 'KeePass Password Safe'
    $url = 'https://bitbucket.org/devinmartin/keeotp/downloads/KeeOtp-1.3.9.zip'
    $checksum = 'c716ca9c6df1c0335a7a648a88944b824d51b780'
    $checksumType = 'sha1'
    
    try {
    Write-Verbose "Searching registry for installed KeePass..."
    $regPath = Get-ItemProperty -Path @('HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*',
                                        'HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*',
                                        'HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*') `
                                -ErrorAction:SilentlyContinue `
               | Where-Object {$_.DisplayName -like "$packageSearch*" `
                               -and `
                               $_.DisplayVersion -ge 2.20 `
                               -and `
                               $_.DisplayVersion -lt 3.0 } `
               | ForEach-Object {$_.InstallLocation}
    $installPath = $regPath
    if (! $installPath) {
      Write-Verbose "Searching $env:ChocolateyBinRoot for portable install..."
      $binRoot = Get-BinRoot
      $portPath = Join-Path $binRoot "keepass"
      $installPath = Get-ChildItemDir $portPath* -ErrorAction SilentlyContinue
    }
    if (! $installPath) {
      Write-Verbose "Searching $env:Path for unregistered install..."
      $installFullName = (Get-Command keepass -ErrorAction SilentlyContinue).Path
      if (! $installFullName) {
        $installPath = [io.path]::GetDirectoryName($installFullName)
      }
    }
    if (! $installPath) {
      Write-Warning "$($packageSearch) not found."
      throw
    }
    Write-Verbose "`t...found."
    
    Write-Verbose "Searching for plugin directory..."
    $pluginPath = (Get-ChildItemDir $installPath\Plugin*).FullName
    if ($pluginPath.Count -eq 0) {
      $pluginPath = Join-Path $installPath "Plugins"
      [System.IO.Directory]::CreateDirectory($pluginPath)
    }
    Write-Verbose "Downloading and extracting zip into tools dir."
    $toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
    Install-ChocolateyZipPackage -PackageName "$packageName" `
                                 -Url "$url" `
                                 -UnzipLocation "$toolsDir" `
                                 -Checksum "$checksum" `
                                 -ChecksumType "$checksumType"
    # rename PLGX file so it is clear which plugins are managed via choco
    $typPlugin = Join-Path $toolsDir $typName
    $chocoPlugin = Join-Path $pluginPath "$($packageName).plgx"
    Move-Item -Path $typPlugin -Destination $chocoPlugin -Force -ErrorAction Continue
    # cleanup unnecessary dlls
    Remove-Item -Path (Join-Path $toolsDir "dlls") -Recurse -Force
    if ( Get-Process -Name "KeePass" `
                     -ErrorAction SilentlyContinue ) {
      Write-Warning "$($packageSearch) is currently running. Plugin will be available at next restart of $($packageSearch)." 
    } else {
      Write-Host "$($packageName) will be loaded the next time KeePass is started."
      Write-Host "Please note this plugin may require additional configuration. Look for a new entry in KeePass' Menu>Tools"
    }} catch {
      throw $_.Exception
    }
  • tools\chocolateyUninstall.ps1 Show
    # powershell v2 compatibility
    $psVer = $PSVersionTable.PSVersion.Major
    if ($psver -ge 3) {
      function Get-ChildItemDir {Get-ChildItem -Directory $args}
    } else {
      function Get-ChildItemDir {Get-ChildItem $args}
    }
    
    $packageName = 'keepass-plugin-keeotp'
    $typName = 'KeeOtp.plgx'
    $packageSearch = 'KeePass Password Safe'
    
    try {
    Write-Verbose "Checking KeePass is not running..."
    if (Get-Process -Name "KeePass" `
                    -ErrorAction SilentlyContinue) {
      Write-Warning "$($packageSearch) is running. Please save any opened databases and close $($packageSearch) before attempting to uninstall KeePass plugins."
      throw
    }
    
    Write-Verbose "Searching registry for installed KeePass..."
    $regPath = Get-ItemProperty -Path @('HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*',
                                        'HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*',
                                        'HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*') `
                                -ErrorAction:SilentlyContinue `
               | Where-Object {$_.DisplayName -like "$packageSearch*"} `
               | ForEach-Object {$_.InstallLocation}
    $installPath = $regPath
    if (! $installPath) {
      Write-Verbose "Searching $env:ChocolateyBinRoot for portable install..."
      $binRoot = Get-BinRoot
      $portPath = Join-Path $binRoot "keepass"
      $installPath = Get-ChildItemDir $portPath* -ErrorAction SilentlyContinue
    }
    if (! $installPath) {
      Write-Verbose "Searching $env:Path for unregistered install..."
      $installFullName = (Get-Command keepass -ErrorAction SilentlyContinue).Path
      if (! $installFullName) {
        $installPath = [io.path]::GetDirectoryName($installFullName)
      }
    }
    if (! $installPath) {
      Write-Warning "$($packageSearch) not found."
      throw
    }
    Write-Verbose "`t...found."
    
    Write-Verbose "Searching for plugin directory..."
    $pluginPath = (Get-ChildItemDir $installPath\Plugin*).FullName
    if ($pluginPath.Count -eq 0) {
      throw "Plugins directory not found."
    }
    
    $installFile = Join-Path $pluginPath "$($packageName).plgx"
    Remove-Item -Path $installFile* `
                -Force `
                -ErrorAction Continue
    } catch {
      throw $_.Exception
    }

Virus Scan Results

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Dependencies

Package Maintainer(s)

Software Author(s)

  • Devin Martin

Copyright

© 2012 Devin Martin

Tags

Release Notes

Program

Package

  • Automatically built and uploaded by dtgm

Version History

Version Downloads Last updated Status
KeePass Plugin KeeOtp 1.3.6 223 Sunday, July 19, 2015 approved

Discussion for the KeePass Plugin KeeOtp Package

Ground rules:

  • This discussion is only about KeePass Plugin KeeOtp and the KeePass Plugin KeeOtp package. If you have feedback for Chocolatey, please contact the google group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or KeePass Plugin KeeOtp, or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.

comments powered by Disqus
Chocolatey.org uses cookies to enhance the user experience of the site.
Ok