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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...