• Daiki Ueno's avatar
    Add support for package signature checking. · acbadd00
    Daiki Ueno authored
    * lisp/emacs-lisp/package.el (url-http-file-exists-p)
    (epg-make-context, epg-context-set-home-directory)
    (epg-verify-string, epg-context-result-for)
    (epg-signature-status, epg-signature-to-string)
    (epg-check-configuration, epg-configuration)
    (epg-import-keys-from-file): Declare.
    (package-check-signature): New user option.
    (package-unsigned-archives): New user option.
    (package-desc): Add `signed' field.
    (package-load-descriptor): Set `signed' field if .signed file exists.
    (package--archive-file-exists-p): New function.
    (package--check-signature): New function.
    (package-install-from-archive): Check package signature.
    (package--download-one-archive): Check archive signature.
    (package-delete): Remove .signed file.
    (package-import-keyring): New command.
    (package-refresh-contents): Import default keyring.
    (package-desc-status): Add "unsigned" status.
    (describe-package-1, package-menu--print-info)
    (package-menu-mark-delete, package-menu--find-upgrades)
    (package-menu--status-predicate): Support "unsigned" status.
    
    * test/automated/data/package/signed/archive-contents:
    * test/automated/data/package/signed/archive-contents.sig:
    * test/automated/data/package/signed/signed-good-1.0.el:
    * test/automated/data/package/signed/signed-good-1.0.el.sig:
    * test/automated/data/package/signed/signed-bad-1.0.el:
    * test/automated/data/package/signed/signed-bad-1.0.el.sig:
    * test/automated/data/package/key.pub:
    * test/automated/data/package/key.sec: New files.
    
    * test/automated/package-test.el (package-test-update-listing)
    (package-test-update-archives, package-test-describe-package):
    Adjust to package.el change.
    (package-test-signed): New test.
    acbadd00
ChangeLog 305 KB