VL.CredentialManager - a way to store passwords on windows

@david recently asked me how I’d store credentials for deployed software. I didn’t really know. One thing that came up during that conversation though was the Windows Credential Manager and I decided to look into it.

The Credential Manager is a built-in Windows feature that seems not to be well-known but is simple to use. It permits saving secrets encrypting them with the current user account and only the current account can decrypt/read them. The credentials can be accessed by multiple applications (this is not true for UWP apps though) and can be managed via the Credential Manager UI.

There are different types of credentials but for “our case” Generic credentials seem the way to go. They consist of a so called target (application name), a username and a password.
There is an API composed of three main methods CredRead, CredWrite, CredDelete. Unfortunately it is not directly available in .NET.

There are a couple of libraries however.
When I started out I didn’t want to spend too much time on it knowing there wasn’t really a budget. But ofc I couldn’t help myself. I “evaluated” three of them and then wrapped one, so now it is possible to manage credentials using vvvv.

I decided against making this public for now though. While it is a small thing (you can probably easily do it yourself), I still spend a couple of days on it and it most likely will be used in a commercial context.

If you want to use it in a project or just feel generous and want to sponsor the release ping me.

5 Likes