Jump to content
Arthur Rump

Windows Hello on Windows Desktop

Recommended Posts

A long, long time ago (I couldn't even find the topic anymore) I asked if you could support logging in into Enpass using Windows Hello on the Desktop application, so it could also be used in the browser extensions (that's how your system works, right?). You replied that the Windows Hello APIs aren't available on the Windows desktop. I recently came across an article on the Windows Dev Center: UWP APIs callable from a classic desktop app. This article mentions that every UWP API which lists the DualApiPartition attribute in the Attributes section is also available for classic desktop apps. The API that's used for Windows Hello (KeyCredentialManager) actually lists this attribute, so it can also be used in classic desktop apps.

As you might have guessed, I would really love Enpass to support this! It would make Enpass exactly what I want my password manager to be.

Share this post


Link to post
Share on other sites

I conducted some further research. To enable access to the CredentialManager API in a WPF application the following snippet should be added to the .csproj file (inside the <Project> node):

  <ItemGroup>
    <Reference Include="System.Runtime.WindowsRuntime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>$(MSBuildProgramFiles32)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5\System.Runtime.WindowsRuntime.dll</HintPath>
    </Reference>
    <Reference Include="Windows">
      <HintPath>$(MSBuildProgramFiles32)\Windows Kits\10\UnionMetadata\Facade\Windows.WinMD</HintPath>
    </Reference>
    <Reference Include="Windows.Foundation.FoundationContract">
      <HintPath>$(MSBuildProgramFiles32)\Windows Kits\10\References\Windows.Foundation.FoundationContract\1.0.0.0\Windows.Foundation.FoundationContract.winmd</HintPath>
    </Reference>
    <Reference Include="Windows.Foundation.UniversalApiContract">
      <HintPath>$(MSBuildProgramFiles32)\Windows Kits\10\References\Windows.Foundation.UniversalApiContract\1.0.0.0\Windows.Foundation.UniversalApiContract.winmd</HintPath>
    </Reference>
  </ItemGroup>

With these references, I was able to add Windows Hello to a WPF application. Conversion to a Store-app via the Centennial bridge isn't required in this case.

Hope this helps a bit!

  • Like 1

Share this post


Link to post
Share on other sites

win32版本的Enpass什么时候能支持Windows Hello功能?
因为我的电脑安装了指纹识别器,我想让Enpass能用上Windows Hello的解锁功能
毕竟每次输入密码是很烦人的事情

When does the Win32 version of Enpass support Windows Hello functionality?
Because my computer has a fingerprint recognizer installed, I want Enpass to use the unlock function of Windows Hello
After all, it's annoying to enter passwords every time.

Edited by NanKe

Share this post


Link to post
Share on other sites

Hi @Arthur Rump,

Windows Hello dialogue is supposed to be used with Store apps only. There is an user interface issue in Windows Hello dialogue when used in Win32 apps. We are in talk with Microsoft Hello team regarding it but there is no apparent fix soon.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×