KeePass browser plugins
In my last post about KeePass, I mentioned that you can integrate your KeePass password database with your web browser. In this post, I'll tell you more about how to do that and why it's an extremely handy thing.
So why would you want to bother with integrating your browser with KeePass? I mean, most browsers have a feature to remember your passwords anyway, so why not just use that? Or if you want to use KeePass, why not just use that auto-type feature I talked about in the last post?
It's true, you could just use the password manager that's built into your browser. Pretty much all of them have one, these days. Most of them will even secure your data with a master password. They may even synchronize your passwords to the cloud, so you can access them on more than one device. Granted, that's pretty handy.
However, browser password managers generally just do passwords - they don't allow you to enter extra information or attach files like KeePass does. They also don't work for things outside the web browser, like for security software such as VPN clients. So they don't provide you with a single, secure location for all your important account information. But more importantly, they're generally tied to a single browser. Sure, Google Chrome can store and synchronize all my passwords, but what if I decide I don't like Chrome anymore? Maybe I just bought a Mac and decided I really like Safari. Is there an easy way to get my passwords out of one browser and into another? I don't know.
By using KeePass with a plugin for your browser, you can get the best of both worlds. KeePass itself gives you more power and features than browser password managers and allows keeps you from being tied to a single browser. Using a browser integration plugin adds on the ability to have the browser automatically fill in your username and password when you visit a website. It's not quite as convenient as the browser-integrated password managers, but it still pretty good. And it's definitely a lot easier than trying to use auto-type or copy-and-paste to fill in password forms.
What are my options?
In general, there are a lot of plugins available for KeePass. Just look at the list. Or maybe don't - you probably don't care about 90% of those plugins. The main thing you need to know about is which browsers have plugins available.
Short answer: Chrome, Firefox, and Safari.
Long answer: Chrome, Firefox, and Safari have proper browser plugins available. The Chrome plugin also works in Vivaldi and possibly other browsers that are based on Chrome. There are also form-filling plugins that work with Internet Explorer. To my knowledge, there is no plugin support available for Microsoft Edge.
For this entry, I'll just talk about setting up a plugin with Chrome. We're going to use a Chrome extension called ChromeIPass. It adds a KeePass button to the toolbar in Chrome and can automatically detect login forms on webpages you visit. It works with a KeePass plugin called KeePassHttp.
First, you need to install the KeePassHttp plugin. Start by going to the KeePassHttp website and clicking the "download" link, or just download it directly here. Sadly, KeePass doesn't have a nice way to install plugins - you just have to copy the plugin file to the KeePass plugins folder on your system. Inconvenient, but fortunately not something you need to do very often. On most computers, this will be
C:\Program Files (x86)\KeePass Password Safe 2\Plugins. So just copy the KeePassHttp.plgx file that you downloaded and paste it into that location. Since this is a system directory, you will probably be prompted to grant access. Click "continue" to copy the file. Note that if KeePass is running, you will need to close and restart it for it to detect the plugin.
Now that the KeePassHttp plugin is installed, KeePass will be able to communicate with Chrome. You just need to install the ChromeIPass extension. You can do that by going to the Chrome web store page here and clicking the "Add to Chrome" button.
OK, now that ChromeIPass is installed, what do you do with it? Well, not really much until it's time to log into a site. So pick a site that's in your KeePass database and go there - I'll use sourceforge.net for this example because it's a pretty standard login form.
The first time you try to log into a site using ChromeIPass, you'll need to connect it to your KeePass database. You should notice a KeePass icon is now in your toolbar. Make sure KeePass is running and click that button.
You should see a "Connect" button. Click that and KeePass will prompt you to add a new encryption key for the KeePassHttp plugin. This is a security mechanism - the KeePassHttp plugin encrypts its communication with your KeePass database and this is just the initial step where it sets that up. Don't worry about the details right now - just type in a unique name for the key, maybe based on your browser and computer, e.g. "Laptop - Chrome". You only have to do this the first time you connect a browser to your database - after that, the encryption is automatic.
Now that ChromeIPass is connected to your KeePass database, you can click the ChromeIPass button in your toolbar and click the "Redetect Credetials Fields" to fill in your username and password. Alternatively, you can just refresh the webpage and they should be auto-filled. You won't see anything in the browser yet, but KeePass itself ill prompt you to allow access to the password for this site. You can check the "Remember this decision" box to not be prompted to allow access the next time you visit this site.
(I should probably stop to acknowledge that this thing of having to grant a site access to your KeePass database before you can log in is kind of a drag. I agree, it is somewhat annoying. This is actually a security feature of KeePassHttp - that's the portion of this that runs inside KeePass itself and allows the ChromeIPass extension to talk to it. It actually has a lot of security-related settings. This is actually a good thing, though, because it essentially provides a way for other programs to read your KeePass database, and you want to make sure that malware or dodgy websites aren't able to do that. However, if you want to disable some of these settings, like prompting to allow access, you can do that by going into KeePass and selecting the "Tools > KeePassHttp Options" menu item. The KeePassHttp documentation has some more information on the available settings.)
The good news is that now you're done! After you allow access to KeePass, ChromeIPass will automatically fill in your username and password. If you selected the "remember" option when allowing access to the site, ChromeIPass will automatically fill in your login info the next time you visit the site, no action required. You will only have to allow access the first time you visit a new site of if you elect not to have KeePass remember the approval.
If you're so inclined, ChromeIPass has a number of other features, as detailed in the documentation. For instance, it can save or update entries automatically when you enter a password into a webpage; it has a built-in password generator that lets you create strong passwords right in the browser; it can customize the login fields for non-standard login forms; and it provides a handy right-click menu to fill in passwords and access other functionality.
Hopefully this will help get you started. Using a password manager is a must for keeping your accounts secure these days, and integrated browser support makes using one that much easier, which means you're more likely to keep using it.
You can reply to this entry by leaving a comment below. You can send TrackBack pings to this URL. This entry accepts Pingbacks from other blogs. You can follow comments on this entry by subscribing to the RSS feed.