From b4450244a5e23605f80b2179ce7d4dbaff56d927 Mon Sep 17 00:00:00 2001 From: Tim Vaughan Date: Mon, 29 Jun 2020 00:55:03 +0200 Subject: [PATCH] Use "persistent", fixed spelling, updated docs. --- elpher.el | 18 +++++++++--------- elpher.texi | 29 +++++++++++++++++++++++------ 2 files changed, 32 insertions(+), 15 deletions(-) diff --git a/elpher.el b/elpher.el index f2a8188..40e21dc 100644 --- a/elpher.el +++ b/elpher.el @@ -4,7 +4,7 @@ ;; Author: Tim Vaughan ;; Created: 11 April 2019 -;; Version: 2.9.1 +;; Version: 2.10.0 ;; Keywords: comm gopher ;; Homepage: http://thelambdalab.xyz/elpher ;; Package-Requires: ((emacs "26.2")) @@ -71,7 +71,7 @@ ;;; Global constants ;; -(defconst elpher-version "2.9.1" +(defconst elpher-version "2.10.0" "Current version of elpher.") (defconst elpher-margin-width 6 @@ -763,8 +763,8 @@ longer needed for this session." (cert-file (concat temporary-file-directory file-base ".crt"))) (elpher-generate-certificate file-base key-file cert-file t))) -(defun elpher-generate-permanent-certificate (file-base common-name) - "Generate and return details of a persistant certificate. +(defun elpher-generate-persistent-certificate (file-base common-name) + "Generate and return details of a persistent certificate. The argument FILE-BASE is used as the base for the key and certificate files, while COMMON-NAME specifies the common name field of the certificate. @@ -803,7 +803,7 @@ base for the installed key and certificate files." (expand-file-name cert-file)))) (defun elpher-list-existing-certificates () - "Return a list of the persistant certificates in `elpher-certificate-directory'." + "Return a list of the persistent certificates in `elpher-certificate-directory'." (mapcar (lambda (file) (file-name-sans-extension file)) @@ -1190,13 +1190,13 @@ that the response was malformed." (pcase (read-answer "What do you want to do? " '(("throwaway" ?t "generate and use throw-away certificate") - ("persistant" ?p - "generate new or use existing persistant certificate") + ("persistent" ?p + "generate new or use existing persistent certificate") ("abort" ?a "stop immediately"))) ("throwaway" (setq elpher-client-certificate (elpher-generate-throwaway-certificate))) - ("persistant" + ("persistent" (let* ((existing-certificates (elpher-list-existing-certificates)) (file-base (completing-read "Nickname for new or existing certificate (autocompletes, empty response aborts): " @@ -1218,7 +1218,7 @@ that the response was malformed." file-base))) (message "New key and self-signed certificate written to %s" elpher-certificate-directory) - (elpher-generate-permanent-certificate file-base common-name))) + (elpher-generate-persistent-certificate file-base common-name))) ("install" (let* ((cert-file (read-file-name "Certificate file: " nil nil t)) (key-file (read-file-name "Key file: " nil nil t))) diff --git a/elpher.texi b/elpher.texi index 475dd19..7229c99 100644 --- a/elpher.texi +++ b/elpher.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename elpher.info -@settitle Elpher Manual v2.7.0 +@settitle Elpher Manual v2.10.0 @dircategory Emacs @direntry @@ -11,7 +11,7 @@ @copying This manual documents Elpher, a gopher and gemini client for Emacs. -Copyright @copyright{} 2019 Tim Vaughan +Copyright @copyright{} 2019, 2020 Tim Vaughan @quotation The source and documentation of Elpher is free software. You can @@ -534,8 +534,9 @@ longer time period. When Elpher receives a request for a client certificate from a server, it will present you with the option to create and use a single-use -``throwaway'' certificate, to create and use a new ``persistent'' -certificate, or to use an existing (persistent) certificate. +``throwaway'' certificate, or to use a ``persistent'' +certificate (optionally creating it or installing pre-existing key and +certificate files). Certificate creation in Elpher requires an installation of OpenSSL, and ---in particular---that Elpher be able to run the @command{openssl} command-line @@ -556,8 +557,24 @@ folder defined by the Elpher variable The base name of the files (i.e. sans extension) is what Elpher uses to identify the certificate. -To make externally-created certificate and key files accessible from -Elpher, simply copy them to @code{elpher-certificate-directory}. +Using throwaway certificates is as simple as pressing the @key{t} +key at the prompt which appears following a certificate request from +a server. There is nothing more to do. + +Using a persistent certificate requires instead selecting @key{p} from the same +menu. This will result in Elpher asking you for the name identifying +the certificate. This entry autocompletes to the list of known certificate +names, so you can use @key{TAB} to display the list. + +In the case that you choose a name that does not belong to the list of +known certificates, Elpher will offer to create one for you or to +``install'' one from existing key and certificate files. +Pressing the @key{n} key will cause Elpher to begin the process of +creating a new persistent certificate, using some additional +details for which you will be prompted. +Alternatively, pressing the @key{i} key will cause Elpher to ask for the +locations of edisting key and certificate files to add to +@code{elpher-certificate-directory} under the chosen name. Once a certificate is selected, it will be used for all subsequent TLS transactions to the host for which the certificate was created. -- 2.20.1