Skip to content

[NCryptOpenKey - 0x80090010] NTE_PERM when locking or unlocking database via RDP #51

@neospect

Description

@neospect

When connected to the workstation via RDP, an error is shown when locking or unlocking the database with which KeePassWinHello is associated.

Steps to reproduce the behavior:

  1. Connect via RDP to the workstation on which KeePass is installed and configured and functioning locally with the unlock capabilities of KeePassWinHello
  2. Switch to KeePass
  3. Attempt to unlock a database for which KeePassWinHello has stored credentials
  4. See the error, "Something went wrong. Please report the issue [...] KeePassWinHello.AuthProviderSystemErrorException:
    NCryptOpenKey
    Error code: 80090010
    at KeePassWinHello.WinHelloProvider.SECURITY_STATUS.CheckStatus(String name, Int32 ignoreStatus)
    at [...] [See screen shot for the full error stack.]

Expected behavior
If Windows Hello can function within an RDP session, function just as it would outside of RDP. If it cannot, then just bypass KeePassWinHello and require the user to manually enter the full decryption passphrase and key as applicable.

Screenshot:
Something_Went_Wrong_NCryptOpenKey_80090010_KeePassWinHello

Desktop:

  • OS Version: Microsoft Windows 10 Pro 10.0.18363 (1909) 64-bit
  • KeePass Version: 2.43
  • Plugin Version: 3.1.1
  • Hardware info: Intel Core i7-8700k CPU, Asus ROG Strix Z390-E Gaming motherboard, 2 x 8 GB DDR4 RAM, AMD Radeon Vega 64 graphics

KeePass settings and enviroment:

  • Is secure desktop enabled: no
  • Is KeePass running under Administrator (in elevated process): no
  • Installed plugins (if any): Only KeePassWinHello
  • Any specific settings in KeePass/Plugin: Many settings have been customized in KeePass. In KeePassWinHello, selected are: Use quick unlock via Windows Hello [...], Revoke current key in case [...]; Store keys in the Windows Credential Manager; Saved keys get invalidated after 'week', Stored keys: 2

Additional context:
Outside of RDP, the lock and unlock functions of KeePassWinHello work as expected.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions