Congratulations to 1Password for Windows, the 1st winner of the Embarcadero Cool App Contest. 1Password for Windows was developed by Stefan van As, sold and maintained by AgileBits and it is developed with Delphi. 1Password is a premier password and identity manager that runs in millions of desktops and mobile devices worldwide.
I took some time to talk with Stefan van As and Mark Eaton from AgileBits about 1Password for Windows.
Here is an overview of the 3rd party components used in 1Password:
Browser Helper Objects (BHOs) — this is what powers 1Password inside Internet Explorer.
Bonjour — this is what powers Wi-Fi Sync. (here is an unrelated Delphi implementation)
ChilkatCrypt — this is what powers some of our crypto
MS Crypto — this is the Pseudo Random Number Generator (PRNG)
DISQLite — Some of 1Password’s features – such as Watchtower, for example – are utilizing SQLite. Because 1Password 4 is in Delphi 2007, we use DISQLite for that (today, it would be using FireDAC for that)
dxgettext — this is used to localize 1Password. It works nicely with Crowdin, a localization project management platform
GraphicEx and Graphics32 — this gives (alpha channel) transparency
HyperString — super fast string handling routines. (no longer available)
OpenSSL — this is what powers PBKDF2 (among other crypto routines)
sgcWebSockets — The WebSockets are used with the Chrome and Firefox browser extensions
StreamSec — another crypto library, mostly for SSL/TLS
zlib and LibTar — For OS X-compatible compression routines
Also uses the following tools:
EurekaLog — For diagnostics reporting
FinalBuilder — For build management
Inno Setup — The installation wizard
I also found an implementation of the Time based One Time Password in Delphi that is compatible with Google Authenticator. While it wasn’t used in 1Password, it should provide some similar functionality.
For more information on the cryptography used in 1Password, you can check out their security whitepaper.
Stefan goes by the handle of Dutch Delphi Dude, and 1Password is not his first cool app. He’s done Delphi development for other popular apps:
Stefan wins the $2000 credit to use toward Embarcadero products. I’m sure he will put it toward good use in developing more cool Delphi apps.