]> git.immae.eu Git - github/shaarli/Shaarli.git/blob - doc/html/GnuPG-signature/index.html
Generate HTML documentation using MkDocs (WIP)
[github/shaarli/Shaarli.git] / doc / html / GnuPG-signature / index.html
1 <!DOCTYPE html>
2 <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
3 <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
4 <head>
5 <meta charset="utf-8">
6 <meta http-equiv="X-UA-Compatible" content="IE=edge">
7 <meta name="viewport" content="width=device-width, initial-scale=1.0">
8
9
10 <link rel="shortcut icon" href="../img/favicon.ico">
11 <title>GnuPG signature - Shaarli Documentation</title>
12 <link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'>
13
14 <link rel="stylesheet" href="../css/theme.css" type="text/css" />
15 <link rel="stylesheet" href="../css/theme_extra.css" type="text/css" />
16 <link rel="stylesheet" href="../css/highlight.css">
17 <link href="../github-markdown.css" rel="stylesheet">
18
19 <script>
20 // Current page data
21 var mkdocs_page_name = "GnuPG signature";
22 var mkdocs_page_input_path = "GnuPG-signature.md";
23 var mkdocs_page_url = "/GnuPG-signature/";
24 </script>
25
26 <script src="../js/jquery-2.1.1.min.js"></script>
27 <script src="../js/modernizr-2.8.3.min.js"></script>
28 <script type="text/javascript" src="../js/highlight.pack.js"></script>
29
30 </head>
31
32 <body class="wy-body-for-nav" role="document">
33
34 <div class="wy-grid-for-nav">
35
36
37 <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
38 <div class="wy-side-nav-search">
39 <a href=".." class="icon icon-home"> Shaarli Documentation</a>
40 <div role="search">
41 <form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
42 <input type="text" name="q" placeholder="Search docs" />
43 </form>
44 </div>
45 </div>
46
47 <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
48 <ul class="current">
49
50
51 <li class="toctree-l1">
52
53 <a class="" href="..">Home</a>
54 </li>
55
56 <li class="toctree-l1">
57
58 <span class="caption-text">Setup</span>
59 <ul class="subnav">
60 <li class="">
61
62 <a class="" href="../Download-and-Installation/">Download and Installation</a>
63 </li>
64 <li class="">
65
66 <a class="" href="../Upgrade-and-migration/">Upgrade and migration</a>
67 </li>
68 <li class="">
69
70 <a class="" href="../Server-requirements/">Server requirements</a>
71 </li>
72 <li class="">
73
74 <a class="" href="../Server-configuration/">Server configuration</a>
75 </li>
76 <li class="">
77
78 <a class="" href="../Server-security/">Server security</a>
79 </li>
80 <li class="">
81
82 <a class="" href="../Shaarli-configuration/">Shaarli configuration</a>
83 </li>
84 <li class="">
85
86 <a class="" href="../Plugins/">Plugins</a>
87 </li>
88 </ul>
89 </li>
90
91 <li class="toctree-l1">
92
93 <span class="caption-text">Docker</span>
94 <ul class="subnav">
95 <li class="">
96
97 <a class="" href="../Docker-101/">Docker 101</a>
98 </li>
99 <li class="">
100
101 <a class="" href="../Shaarli-images/">Shaarli images</a>
102 </li>
103 <li class="">
104
105 <a class="" href="../Reverse-proxy-configuration/">Reverse proxy configuration</a>
106 </li>
107 <li class="">
108
109 <a class="" href="../Docker-resources/">Docker resources</a>
110 </li>
111 </ul>
112 </li>
113
114 <li class="toctree-l1">
115
116 <span class="caption-text">Usage</span>
117 <ul class="subnav">
118 <li class="">
119
120 <a class="" href="../Features/">Features</a>
121 </li>
122 <li class="">
123
124 <a class="" href="../Bookmarklet/">Bookmarklet</a>
125 </li>
126 <li class="">
127
128 <a class="" href="../Browsing-and-searching/">Browsing and searching</a>
129 </li>
130 <li class="">
131
132 <a class="" href="../Firefox-share/">Firefox share</a>
133 </li>
134 <li class="">
135
136 <a class="" href="../RSS-feeds/">RSS feeds</a>
137 </li>
138 <li class="">
139
140 <a class="" href="../REST-API/">REST API</a>
141 </li>
142 </ul>
143 </li>
144
145 <li class="toctree-l1">
146
147 <span class="caption-text">How To</span>
148 <ul class="subnav">
149 <li class="">
150
151 <a class="" href="../Backup,-restore,-import-and-export/">Backup, restore, import and export</a>
152 </li>
153 <li class="">
154
155 <a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a>
156 </li>
157 <li class="">
158
159 <a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
160 </li>
161 <li class="">
162
163 <a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
164 </li>
165 <li class="">
166
167 <a class="" href="../Datastore-hacks/">Datastore hacks</a>
168 </li>
169 </ul>
170 </li>
171
172 <li class="toctree-l1">
173
174 <a class="" href="../Troubleshooting/">Troubleshooting</a>
175 </li>
176
177 <li class="toctree-l1">
178
179 <span class="caption-text">Development</span>
180 <ul class="subnav">
181 <li class="">
182
183 <a class="" href="../Development-guidelines/">Development guidelines</a>
184 </li>
185 <li class="">
186
187 <a class="" href="../Continuous-integration-tools/">Continuous integration tools</a>
188 </li>
189 <li class=" current">
190
191 <a class="current" href="./">GnuPG signature</a>
192 <ul class="subnav">
193
194 <li class="toctree-l3"><a href="#introduction">Introduction</a></li>
195
196 <ul>
197
198 <li><a class="toctree-l4" href="#pgp-and-gpg">PGP and GPG</a></li>
199
200 <li><a class="toctree-l4" href="#trust">Trust</a></li>
201
202 </ul>
203
204
205 <li class="toctree-l3"><a href="#generate-a-gpg-key">Generate a GPG key</a></li>
206
207 <ul>
208
209 <li><a class="toctree-l4" href="#gpg-provide-identity-information">gpg - provide identity information</a></li>
210
211 <li><a class="toctree-l4" href="#gpg-entropy-interlude">gpg - entropy interlude</a></li>
212
213 <li><a class="toctree-l4" href="#gpg-key-creation-confirmation">gpg - key creation confirmation</a></li>
214
215 <li><a class="toctree-l4" href="#gpg-submit-your-public-key-to-a-pgp-server-optional">gpg - submit your public key to a PGP server (Optional)</a></li>
216
217 </ul>
218
219
220 <li class="toctree-l3"><a href="#create-and-push-a-gpg-signed-tag">Create and push a GPG-signed tag</a></li>
221
222
223 </ul>
224 </li>
225 <li class="">
226
227 <a class="" href="../Coding-guidelines/">Coding guidelines</a>
228 </li>
229 <li class="">
230
231 <a class="" href="../Directory-structure/">Directory structure</a>
232 </li>
233 <li class="">
234
235 <a class="" href="../3rd-party-libraries/">3rd party libraries</a>
236 </li>
237 <li class="">
238
239 <a class="" href="../Plugin-System/">Plugin System</a>
240 </li>
241 <li class="">
242
243 <a class="" href="../Release-Shaarli/">Release Shaarli</a>
244 </li>
245 <li class="">
246
247 <a class="" href="../Versioning-and-Branches/">Versioning and Branches</a>
248 </li>
249 <li class="">
250
251 <a class="" href="../Security/">Security</a>
252 </li>
253 <li class="">
254
255 <a class="" href="../Static-analysis/">Static analysis</a>
256 </li>
257 <li class="">
258
259 <a class="" href="../Theming/">Theming</a>
260 </li>
261 <li class="">
262
263 <a class="" href="../Unit-tests/">Unit tests</a>
264 </li>
265 </ul>
266 </li>
267
268 <li class="toctree-l1">
269
270 <span class="caption-text">About</span>
271 <ul class="subnav">
272 <li class="">
273
274 <a class="" href="../FAQ/">FAQ</a>
275 </li>
276 <li class="">
277
278 <a class="" href="../Community-&-Related-software/">Community & Related software</a>
279 </li>
280 </ul>
281 </li>
282
283 </ul>
284 </div>
285 &nbsp;
286 </nav>
287
288 <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
289
290
291 <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
292 <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
293 <a href="..">Shaarli Documentation</a>
294 </nav>
295
296
297 <div class="wy-nav-content">
298 <div class="rst-content">
299 <div role="navigation" aria-label="breadcrumbs navigation">
300 <ul class="wy-breadcrumbs">
301 <li><a href="..">Docs</a> &raquo;</li>
302
303
304
305 <li>Development &raquo;</li>
306
307
308
309 <li>GnuPG signature</li>
310 <li class="wy-breadcrumbs-aside">
311
312 <a href="https://github.com/shaarli/Shaarli/edit/master/docs/GnuPG-signature.md"
313 class="icon icon-github"> Edit on GitHub</a>
314
315 </li>
316 </ul>
317 <hr/>
318 </div>
319 <div role="main">
320 <div class="section">
321
322 <h2 id="introduction">Introduction</h2>
323 <h3 id="pgp-and-gpg">PGP and GPG</h3>
324 <p><a href="https://gnupg.org/">Gnu Privacy Guard</a> (GnuPG) is an Open Source implementation of the <a href="https://en.wikipedia.org/wiki/Pretty_Good_Privacy#OpenPGP">Pretty Good
325 Privacy</a> (OpenPGP) specification. Its main purposes are digital authentication,
326 signature and encryption.</p>
327 <p>It is often used by the <a href="https://en.wikipedia.org/wiki/Free_and_open-source_software">FLOSS</a> community to verify:
328 - Linux package signatures: Debian <a href="https://wiki.debian.org/SecureApt">SecureApt</a>, ArchLinux <a href="https://www.archlinux.org/master-keys/">Master
329 Keys</a>
330 - <a href="https://en.wikipedia.org/wiki/Revision_control">SCM</a> releases &amp; maintainer identity</p>
331 <h3 id="trust">Trust</h3>
332 <p>To quote Phil Pennock (the author of the <a href="https://bitbucket.org/skskeyserver/sks-keyserver/wiki/Home">SKS</a> key server - http://sks.spodhuis.org/):</p>
333 <blockquote>
334 <p>You MUST understand that presence of data in the keyserver (pools) in no way connotes trust. Anyone can generate a key, with any name or email address, and upload it. All security and trust comes from evaluating security at the “object level”, via PGP Web-Of-Trust signatures. This keyserver makes it possible to retrieve keys, looking them up via various indices, but the collection of keys in this public pool is KNOWN to contain malicious and fraudulent keys. It is the common expectation of server operators that users understand this and use software which, like all known common OpenPGP implementations, evaluates trust accordingly. This expectation is so common that it is not normally explicitly stated.</p>
335 </blockquote>
336 <p>Trust can be gained by having your key signed by other people (and signing their key back, too :) ), for instance during <a href="https://en.wikipedia.org/wiki/Key_signing_party">key signing parties</a>, see:
337 - <a href="http://www.cryptnet.net/fdp/crypto/keysigning_party/en/keysigning_party.html">The Keysigning party HOWTO</a>
338 - <a href="https://en.wikipedia.org/wiki/Web_of_trust">Web of trust</a></p>
339 <h2 id="generate-a-gpg-key">Generate a GPG key</h2>
340 <ul>
341 <li><a href="http://stackoverflow.com/a/16725717">Generating a GPG key for Git tagging</a> (StackOverflow)</li>
342 <li><a href="https://help.github.com/articles/generating-a-gpg-key/">Generating a GPG key</a> (GitHub)</li>
343 </ul>
344 <h3 id="gpg-provide-identity-information">gpg - provide identity information</h3>
345 <pre><code class="bash">$ gpg --gen-key
346
347 gpg (GnuPG) 2.1.6; Copyright (C) 2015 Free Software Foundation, Inc.
348 This is free software: you are free to change and redistribute it.
349 There is NO WARRANTY, to the extent permitted by law.
350
351 Note: Use &quot;gpg2 --full-gen-key&quot; for a full featured key generation dialog.
352
353 GnuPG needs to construct a user ID to identify your key.
354
355 Real name: Marvin the Paranoid Android
356 Email address: marvin@h2g2.net
357 You selected this USER-ID:
358 &quot;Marvin the Paranoid Android &lt;marvin@h2g2.net&gt;&quot;
359
360 Change (N)ame, (E)mail, or (O)kay/(Q)uit? o
361 We need to generate a lot of random bytes. It is a good idea to perform
362 some other action (type on the keyboard, move the mouse, utilize the
363 disks) during the prime generation; this gives the random number
364 generator a better chance to gain enough entropy.
365 </code></pre>
366
367 <h3 id="gpg-entropy-interlude">gpg - entropy interlude</h3>
368 <p>At this point, you will:
369 - be prompted for a secure password to protect your key (the input method will depend on your Desktop Environment and configuration)
370 - be asked to use your machine's input devices (mouse, keyboard, etc.) to generate random entropy; this step <em>may take some time</em> </p>
371 <h3 id="gpg-key-creation-confirmation">gpg - key creation confirmation</h3>
372 <pre><code class="bash">gpg: key A9D53A3E marked as ultimately trusted
373 public and secret key created and signed.
374
375 gpg: checking the trustdb
376 gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
377 gpg: depth: 0 valid: 2 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 2u
378 pub rsa2048/A9D53A3E 2015-07-31
379 Key fingerprint = AF2A 5381 E54B 2FD2 14C4 A9A3 0E35 ACA4 A9D5 3A3E
380 uid [ultimate] Marvin the Paranoid Android &lt;marvin@h2g2.net&gt;
381 sub rsa2048/8C0EACF1 2015-07-31
382 </code></pre>
383
384 <h3 id="gpg-submit-your-public-key-to-a-pgp-server-optional">gpg - submit your public key to a PGP server (Optional)</h3>
385 <pre><code class="bash">$ gpg --keyserver pgp.mit.edu --send-keys A9D53A3E
386 gpg: sending key A9D53A3E to hkp server pgp.mit.edu
387 </code></pre>
388
389 <h2 id="create-and-push-a-gpg-signed-tag">Create and push a GPG-signed tag</h2>
390 <p>See <a href="../Release Shaarli">Release Shaarli</a>.</p>
391
392 </div>
393 </div>
394 <footer>
395
396 <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
397
398 <a href="../Coding-guidelines/" class="btn btn-neutral float-right" title="Coding guidelines">Next <span class="icon icon-circle-arrow-right"></span></a>
399
400
401 <a href="../Continuous-integration-tools/" class="btn btn-neutral" title="Continuous integration tools"><span class="icon icon-circle-arrow-left"></span> Previous</a>
402
403 </div>
404
405
406 <hr/>
407
408 <div role="contentinfo">
409 <!-- Copyright etc -->
410
411 </div>
412
413 Built with <a href="http://www.mkdocs.org">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
414 </footer>
415
416 </div>
417 </div>
418
419 </section>
420
421 </div>
422
423 <div class="rst-versions" role="note" style="cursor: pointer">
424 <span class="rst-current-version" data-toggle="rst-current-version">
425
426 <a href="https://github.com/shaarli/Shaarli" class="fa fa-github" style="float: left; color: #fcfcfc"> GitHub</a>
427
428
429 <span><a href="../Continuous-integration-tools/" style="color: #fcfcfc;">&laquo; Previous</a></span>
430
431
432 <span style="margin-left: 15px"><a href="../Coding-guidelines/" style="color: #fcfcfc">Next &raquo;</a></span>
433
434 </span>
435 </div>
436 <script src="../js/theme.js"></script>
437
438 </body>
439 </html>