diff options
Diffstat (limited to 'docs/_r_e_a_d_m_e_8md_source.html')
-rw-r--r-- | docs/_r_e_a_d_m_e_8md_source.html | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/docs/_r_e_a_d_m_e_8md_source.html b/docs/_r_e_a_d_m_e_8md_source.html index a63423b1..e9dd9917 100644 --- a/docs/_r_e_a_d_m_e_8md_source.html +++ b/docs/_r_e_a_d_m_e_8md_source.html @@ -23,7 +23,7 @@ <td id="projectlogo"><img alt="Logo" src="doc-icon.png"/></td> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">QtPass -  <span id="projectnumber">1.3.1</span> +  <span id="projectnumber">1.3.2</span> </div> <div id="projectbrief">Multi-platform GUI for pass, the standard unix password manager.</div> </td> @@ -65,7 +65,7 @@ $(function() { <div class="title">README.md</div> </div> </div><!--header--> <div class="contents"> -<a href="_r_e_a_d_m_e_8md.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> QtPass</div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> ======</div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> </div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> [![latest packaged version(s)](https://repology.org/badge/latest-versions/qtpass.svg)](https://repology.org/metapackage/qtpass)</div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> [![Build Status](https://travis-ci.org/IJHack/QtPass.svg?branch=master)](https://travis-ci.org/IJHack/QtPass)</div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> [![Build status](https://ci.appveyor.com/api/projects/status/9rjnj72rdir7u9eg/branch/master?svg=true)](https://ci.appveyor.com/project/annejan/qtpass/branch/master)</div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> [![Coverity scan](https://scan.coverity.com/projects/5266/badge.svg)](https://scan.coverity.com/projects/ijhack-qtpass)</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> [![Coverage Status](https://coveralls.io/repos/github/IJHack/QtPass/badge.svg)](https://coveralls.io/github/IJHack/QtPass)</div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> [![codecov](https://codecov.io/gh/IJhack/QtPass/branch/master/graph/badge.svg)](https://codecov.io/gh/IJhack/QtPass)</div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> [![CodeFactor](https://www.codefactor.io/repository/github/ijhack/qtpass/badge)](https://www.codefactor.io/repository/github/ijhack/qtpass)</div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> [![Packaging status](https://repology.org/badge/tiny-repos/qtpass.svg)](https://repology.org/metapackage/qtpass)</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> [![Language grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/IJHack/QtPass.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/IJHack/QtPass/context:cpp)</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> [![Total alerts](https://img.shields.io/lgtm/alerts/g/IJHack/QtPass.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/IJHack/QtPass/alerts/)</div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FIJHack%2FQtPass.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2FIJHack%2FQtPass?ref=badge_shield)</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> QtPass is a GUI for [pass](https://www.passwordstore.org/),</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> the standard unix password manager.</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> Features</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> --------</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> * Using `pass` or `git` and `gpg2` directly</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> * Configurable shoulder surfing protection options</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> * Cross platform: Linux, BSD, OS X and Windows</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> * Per-folder user selection for multi recipient encryption</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> * Multiple profiles</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> * Easy onboarding</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> Logo based on [Heart-padlock by AnonMoos](https://commons.wikimedia.org/wiki/File:Heart-padlock.svg).</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> Installation</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> ------------</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> ### From package</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> OpenSUSE & Fedora</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> `yum install qtpass`</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> `dnf install qtpass`</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> Debian, Ubuntu and derivates like Mint, Kali & Raspbian</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> `apt-get install qtpass`</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> Arch Linux</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> `pacman -S qtpass`</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> Gentoo</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> `emerge -atv qtpass`</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> Sabayon</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> `equo install qtpass`</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> FreeBSD</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> `pkg install qtpass`</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> macOS</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> `brew cask install qtpass`</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> Windows</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> `choco install qtpass`</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> [![Packaging status](https://repology.org/badge/vertical-allrepos/qtpass.svg)](https://repology.org/metapackage/qtpass)</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> ### From Source</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> **Dependencies**</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> * QtPass requires Qt 5.2 or later</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> * The Linguist package is required to compile the translations.</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> * For use of the fallback icons the SVG library is required.</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> At runtime the only real dependency is `gpg2` but to make the most of it, you'll need `git` and `pass` too.</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> Your GPG has to be set-up with a graphical pinentry when applicable, same goes for git authentication.</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> On Mac OS X this currently seems to only work best with `pinentry-mac` from homebrew, although gpgtools works too.</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> On most unix systems all you need is:</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> ```</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> qmake && make && make install</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> ```</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> Testing</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> -------</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span> This is done with `make check`</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span> Codecoverage can be done with `make lcov`, `make gcov`, `make coveralls` and/or `make codecov`.</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> Be sure to first run: `make distclean && qmake CONFIG+=coverage qtpass.pro`</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> Security considerations</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> -----------------------</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> Using this program will not magically keep your passwords secure against</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> compromised computers even if you use it in combination with a smartcard.</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> It does protect future and changed passwords though against anyone with access to</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> your password store only but not your keys.</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> Used with a smartcard it also protects against anyone just monitoring/copying</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> all files/keystrokes on that machine and such an attacker would only gain access</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> to the passwords you actually use.</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> Once you plug in your smartcard and enter your PIN (or due to CVE-2015-3298</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> even without your PIN) all your passwords available to the machine can be</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> decrypted by it, if there is malicious software targeted specifically against</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span> it installed (or at least one that knows how to use a smartcard).</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> To get better protection out of use with a smartcard even against a targeted</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span> attack I can think of at least two options:</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> * The smartcard must require explicit confirmation for each decryption operation.</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  Or if it just provides a counter for decrypted data you could at least notice</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  an attack afterwards, though at quite some effort on your part.</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> * Use a different smartcard for each (group of) key.</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> * If using a YubiKey or U2F module or similar that requires a "button" press for</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  other authentication methods you can use one OTP/U2F enabled WebDAV account per</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  password (or groups of passwords) as a quite inconvenient workaround.</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  Unfortunately I do not know of any WebDAV service with OTP support except ownCloud</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  (so you would have to run your own server).</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> Known issues</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> ------------</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span> * Filtering (searching) breaks the tree/model sometimes</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> * Starting without a correctly set password-store folder</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  gives weird results in the tree view</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> Planned features</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span> ----------------</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> * Plugins based on field name, plugins follow same format as password files</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> * Colour coding folders (possibly disabling folders you can't decrypt)</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> * Optional table view of decrypted folder contents</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span> * Opening of (basic auth) urls in default browser?</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  Possibly with helper plugin for filling out forms?</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span> * WebDAV (configuration) support</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> * Some other form of remote storage that allows for</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  accountability / auditing (web API to retrieve the .gpg files?)</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> Further reading</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span> ---------------</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> [FAQ](FAQ.md) and [CONTRIBUTING](CONTRIBUTING.md) documentation.</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> [CHANGELOG](CHANGELOG.md)</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> [Website](https://qtpass.org/)</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span> [Source code](https://github.com/IJHack/qtpass)</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span> [Issue queue](https://github.com/IJHack/qtpass/issues)</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> [Chat](https://gitter.im/IJHack/qtpass)</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> ## License</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span> ### GNU GPL v3.0</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> [![GNU GPL v3.0](http://www.gnu.org/graphics/gplv3-127x51.png)](http://www.gnu.org/licenses/gpl.html)</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> View official GNU site <http://www.gnu.org/licenses/gpl.html>.</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span> [![OSI](http://opensource.org/trademarks/opensource/OSI-Approved-License-100x137.png)](http://opensource.org/licenses/mit-license.php)</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> [View the Open Source Initiative site.](http://opensource.org/licenses/mit-license.php)</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FIJHack%2FQtPass.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2FIJHack%2FQtPass?ref=badge_large)</div></div><!-- fragment --></div><!-- contents --> +<a href="_r_e_a_d_m_e_8md.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> QtPass</div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> ======</div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> </div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> [![latest packaged version(s)](https://repology.org/badge/latest-versions/qtpass.svg)](https://repology.org/metapackage/qtpass)</div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> [![Build Status](https://travis-ci.org/IJHack/QtPass.svg?branch=master)](https://travis-ci.org/IJHack/QtPass)</div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> [![Build status](https://ci.appveyor.com/api/projects/status/9rjnj72rdir7u9eg/branch/master?svg=true)](https://ci.appveyor.com/project/annejan/qtpass/branch/master)</div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> [![Coverity scan](https://scan.coverity.com/projects/5266/badge.svg)](https://scan.coverity.com/projects/ijhack-qtpass)</div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> [![Coverage Status](https://coveralls.io/repos/github/IJHack/QtPass/badge.svg)](https://coveralls.io/github/IJHack/QtPass)</div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> [![codecov](https://codecov.io/gh/IJhack/QtPass/branch/master/graph/badge.svg)](https://codecov.io/gh/IJhack/QtPass)</div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> [![CodeFactor](https://www.codefactor.io/repository/github/ijhack/qtpass/badge)](https://www.codefactor.io/repository/github/ijhack/qtpass)</div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> [![Packaging status](https://repology.org/badge/tiny-repos/qtpass.svg)](https://repology.org/metapackage/qtpass)</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> [![Language grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/IJHack/QtPass.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/IJHack/QtPass/context:cpp)</div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> [![Total alerts](https://img.shields.io/lgtm/alerts/g/IJHack/QtPass.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/IJHack/QtPass/alerts/)</div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FIJHack%2FQtPass.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2FIJHack%2FQtPass?ref=badge_shield)</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> QtPass is a GUI for [pass](https://www.passwordstore.org/),</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> the standard unix password manager.</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> </div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> Features</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> --------</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> </div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> * Using `pass` or `git` and `gpg2` directly</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> * Configurable shoulder surfing protection options</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> * Cross platform: Linux, BSD, OS X and Windows</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> * Per-folder user selection for multi recipient encryption</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> * Multiple profiles</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> * Easy onboarding</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> Logo based on [Heart-padlock by AnonMoos](https://commons.wikimedia.org/wiki/File:Heart-padlock.svg).</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> Installation</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> ------------</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> ### From package</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> OpenSUSE & Fedora</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> `yum install qtpass`</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> `dnf install qtpass`</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> Debian, Ubuntu and derivates like Mint, Kali & Raspbian</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> `apt-get install qtpass`</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> Arch Linux</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> `pacman -S qtpass`</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> Gentoo</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> `emerge -atv qtpass`</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> Sabayon</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> `equo install qtpass`</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> FreeBSD</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> `pkg install qtpass`</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> macOS</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> `brew cask install qtpass`</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> Windows</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> `choco install qtpass`</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> [![Packaging status](https://repology.org/badge/vertical-allrepos/qtpass.svg)](https://repology.org/metapackage/qtpass)</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> ### From Source</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> **Dependencies**</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> * QtPass requires Qt 5.2 or later</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> * The Linguist package is required to compile the translations.</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> * For use of the fallback icons the SVG library is required.</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> At runtime the only real dependency is `gpg2` but to make the most of it, you'll need `git` and `pass` too.</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> Your GPG has to be set-up with a graphical pinentry when applicable, same goes for git authentication.</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> On Mac OS X this currently seems to only work best with `pinentry-mac` from homebrew, although gpgtools works too.</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> On most unix systems all you need is:</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> ```</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> qmake && make && make install</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> ```</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> Testing</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> -------</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span> This is done with `make check`</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span> </div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span> Codecoverage can be done with `make lcov`, `make gcov`, `make coveralls` and/or `make codecov`.</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> Be sure to first run: `make distclean && qmake CONFIG+=coverage qtpass.pro`</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> Security considerations</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> -----------------------</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> Using this program will not magically keep your passwords secure against</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> compromised computers even if you use it in combination with a smartcard.</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> It does protect future and changed passwords though against anyone with access to</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> your password store only but not your keys.</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> Used with a smartcard it also protects against anyone just monitoring/copying</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> all files/keystrokes on that machine and such an attacker would only gain access</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> to the passwords you actually use.</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> Once you plug in your smartcard and enter your PIN (or due to CVE-2015-3298</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> even without your PIN) all your passwords available to the machine can be</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> decrypted by it, if there is malicious software targeted specifically against</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span> it installed (or at least one that knows how to use a smartcard).</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> To get better protection out of use with a smartcard even against a targeted</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span> attack I can think of at least two options:</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> * The smartcard must require explicit confirmation for each decryption operation.</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  Or if it just provides a counter for decrypted data you could at least notice</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  an attack afterwards, though at quite some effort on your part.</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> * Use a different smartcard for each (group of) key.</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> * If using a YubiKey or U2F module or similar that requires a "button" press for</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  other authentication methods you can use one OTP/U2F enabled WebDAV account per</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  password (or groups of passwords) as a quite inconvenient workaround.</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  Unfortunately I do not know of any WebDAV service with OTP support except ownCloud</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  (so you would have to run your own server).</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> Known issues</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> ------------</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span> * Filtering (searching) breaks the tree/model sometimes</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> * Starting without a correctly set password-store folder</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  gives weird results in the tree view</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> Planned features</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span> ----------------</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> * Plugins based on field name, plugins follow same format as password files</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> * Colour coding folders (possibly disabling folders you can't decrypt)</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> * Optional table view of decrypted folder contents</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span> * Opening of (basic auth) urls in default browser?</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  Possibly with helper plugin for filling out forms?</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span> * WebDAV (configuration) support</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> * Some other form of remote storage that allows for</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  accountability / auditing (web API to retrieve the .gpg files?)</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> Further reading</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span> ---------------</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> [FAQ](FAQ.md) and [CONTRIBUTING](CONTRIBUTING.md) documentation.</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> [CHANGELOG](CHANGELOG.md)</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> [Website](https://qtpass.org/)</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span> [Source code](https://github.com/IJHack/qtpass)</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span> [Issue queue](https://github.com/IJHack/qtpass/issues)</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> [Chat](https://gitter.im/IJHack/qtpass)</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> ## License</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span> ### GNU GPL v3.0</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> [![GNU GPL v3.0](http://www.gnu.org/graphics/gplv3-127x51.png)](http://www.gnu.org/licenses/gpl.html)</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> View official GNU site <http://www.gnu.org/licenses/gpl.html>.</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span> [![OSI](http://opensource.org/trademarks/opensource/OSI-Approved-License-100x137.png)](https://opensource.org/licenses/GPL-3.0)</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> [View the Open Source Initiative site.](https://opensource.org/licenses/GPL-3.0)</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2FIJHack%2FQtPass.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2FIJHack%2FQtPass?ref=badge_large)</div></div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> |