diff options
| author | Glenn Morris | 2014-06-04 23:15:44 -0700 |
|---|---|---|
| committer | Glenn Morris | 2014-06-04 23:15:44 -0700 |
| commit | e1b3f35f9373d71f58638e9dcaffc2ff8c4ab3b6 (patch) | |
| tree | e09363a815ba1488ca47c29aa9e7676b0a43ae5d /doc/lispref | |
| parent | a56ae34d229242a065fc87d75d80d07ab14641fe (diff) | |
| download | emacs-e1b3f35f9373d71f58638e9dcaffc2ff8c4ab3b6.tar.gz emacs-e1b3f35f9373d71f58638e9dcaffc2ff8c4ab3b6.zip | |
Some documentation for signing of packages
* doc/emacs/package.texi (Package Menu, Package Installation):
Mention signed packages.
* doc/lispref/package.texi (Package Archives): Mention signing packages.
* lisp/emacs-lisp/package.el (package-check-signature)
(package-unsigned-archives): Doc fixes.
* etc/NEWS: Related edits.
Diffstat (limited to 'doc/lispref')
| -rw-r--r-- | doc/lispref/ChangeLog | 4 | ||||
| -rw-r--r-- | doc/lispref/package.texi | 35 |
2 files changed, 39 insertions, 0 deletions
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index e4f5c60c2d1..51f74f2eb12 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2014-06-05 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * package.texi (Package Archives): Mention signing packages. | ||
| 4 | |||
| 1 | 2014-05-27 Glenn Morris <rgm@gnu.org> | 5 | 2014-05-27 Glenn Morris <rgm@gnu.org> |
| 2 | 6 | ||
| 3 | * text.texi (Buffer Contents): | 7 | * text.texi (Buffer Contents): |
diff --git a/doc/lispref/package.texi b/doc/lispref/package.texi index 4bc50b2358f..cac7519671a 100644 --- a/doc/lispref/package.texi +++ b/doc/lispref/package.texi | |||
| @@ -342,3 +342,38 @@ otherwise, an error is raised. | |||
| 342 | @noindent | 342 | @noindent |
| 343 | After you create an archive, remember that it is not accessible in the | 343 | After you create an archive, remember that it is not accessible in the |
| 344 | Package Menu interface unless it is in @code{package-archives}. | 344 | Package Menu interface unless it is in @code{package-archives}. |
| 345 | |||
| 346 | @cindex package archive security | ||
| 347 | @cindex package signing | ||
| 348 | Maintaining a public package archive entails a degree of responsibility. | ||
| 349 | When Emacs users install packages from your archive, those packages | ||
| 350 | can cause Emacs to run arbitrary code with the permissions of the | ||
| 351 | installing user. (This is true for Emacs code in general, not just | ||
| 352 | for packages.) So you should ensure that your archive is | ||
| 353 | well-maintained and keep the hosting system secure. | ||
| 354 | |||
| 355 | One way to increase the security of your packages is to @dfn{sign} | ||
| 356 | them using a crytopgraphic key. If you have generated a | ||
| 357 | private/public gpg key pair, you can use gpg to sign the package like | ||
| 358 | this: | ||
| 359 | |||
| 360 | @c FIXME EasyPG / package-x way to do this. | ||
| 361 | @example | ||
| 362 | gpg -ba -o @var{file}.sig @var{file} | ||
| 363 | @end example | ||
| 364 | |||
| 365 | @noindent | ||
| 366 | For a single-file package, @var{file} is the package Lisp file; | ||
| 367 | for a multi-file package, it is the package tar file. | ||
| 368 | You can also sign the archive's contents file in the same way. | ||
| 369 | Make the @file{.sig} files available in the same location as the packages. | ||
| 370 | You should also make your public key available for people to download; | ||
| 371 | e.g., by uploading it to a key server such as @url{http://pgp.mit.edu/}. | ||
| 372 | When people install packages from your archive, they can use | ||
| 373 | your public key to verify the signatures. | ||
| 374 | |||
| 375 | A full explanation of these matters is outside the scope of this | ||
| 376 | manual. For more information on crytopgraphic keys and signing, | ||
| 377 | @pxref{Top,, GnuPG, gnupg, The GNU Privacy Guard Manual}. Emacs comes | ||
| 378 | with an interface to GNU Privacy Guard, @pxref{Top,, EasyPG, epa, | ||
| 379 | Emacs EasyPG Assistant Manual}. | ||