diff options
Diffstat (limited to 'doc/lispref')
| -rw-r--r-- | doc/lispref/package.texi | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/doc/lispref/package.texi b/doc/lispref/package.texi index af87479c7d2..725fecd8952 100644 --- a/doc/lispref/package.texi +++ b/doc/lispref/package.texi | |||
| @@ -332,10 +332,22 @@ installing user. (This is true for Emacs code in general, not just | |||
| 332 | for packages.) So you should ensure that your archive is | 332 | for packages.) So you should ensure that your archive is |
| 333 | well-maintained and keep the hosting system secure. | 333 | well-maintained and keep the hosting system secure. |
| 334 | 334 | ||
| 335 | One way to increase the security of your packages is to @dfn{sign} | 335 | To increase the security of your packages, you should distribute |
| 336 | them using a cryptographic key. If you have generated a | 336 | package checksums in the package metadata file |
| 337 | private/public gpg key pair, you can use gpg to sign the package like | 337 | @file{archive-contents}. You should also @dfn{sign} the package |
| 338 | this: | 338 | metadata file using a cryptographic key. Finally, it is important to |
| 339 | include creation and expiration timestamps information in that file. | ||
| 340 | |||
| 341 | Signing individual packages is also supported, but considered | ||
| 342 | obsolete. It provides less security than package checksums, signing | ||
| 343 | the @file{archive-contents} file, and creation and expiration | ||
| 344 | timestamps does when used together. More specifically, signing | ||
| 345 | individual packages does not protect against ``replay attacks''. Note | ||
| 346 | that distributing signatures for individual packages is still | ||
| 347 | recommended to support Emacs versions older than 28.1. | ||
| 348 | |||
| 349 | If you have generated a private/public gpg key pair, you can use gpg | ||
| 350 | to sign a package or the @file{archive-contents} file like this: | ||
| 339 | 351 | ||
| 340 | @c FIXME EasyPG / package-x way to do this. | 352 | @c FIXME EasyPG / package-x way to do this. |
| 341 | @example | 353 | @example |
| @@ -371,6 +383,9 @@ Return a lisp form describing the archive contents. The form is a list | |||
| 371 | of 'package-desc' structures (see @file{package.el}), except the first | 383 | of 'package-desc' structures (see @file{package.el}), except the first |
| 372 | element of the list is the archive version. | 384 | element of the list is the archive version. |
| 373 | 385 | ||
| 386 | @item archive-contents.sig | ||
| 387 | Return the signature for @file{archive-contents}. | ||
| 388 | |||
| 374 | @item <package name>-readme.txt | 389 | @item <package name>-readme.txt |
| 375 | Return the long description of the package. | 390 | Return the long description of the package. |
| 376 | 391 | ||