Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GPG-WKS-SERVER(1)	      GNU Privacy Guard 2.6	       GPG-WKS-SERVER(1)

NAME
     gpg-wks-server - Server providing the Web Key Service

SYNOPSIS
     gpg-wks-server [options] --receive
     gpg-wks-server [options] --cron
     gpg-wks-server [options] --list-domains
     gpg-wks-server [options] --check-key user-id
     gpg-wks-server [options] --install-key file user-id
     gpg-wks-server [options] --remove-key user-id
     gpg-wks-server [options] --revoke-key user-id

DESCRIPTION
     The  gpg-wks-server is a server side implementation of the Web Key Service.
     It receives requests for publication, sends confirmation requests, receives
     confirmations, and published the key.  It also has  features  to  ease  the
     setup and maintenance of a Web Key Directory.

     When  used  with  the  command  --receive	a single Web Key Service mail is
     processed.  Commonly this command is used with the  option  --send  to  di-
     rectly send the created mails back.  See below for an installation example.

     The command --cron is used for regular cleanup tasks.  For example non-con-
     firmed  requested should be removed after their expire time.  It is best to
     run this command once a day from a cronjob.

     The command --list-domains prints all configured domains.	Further it  cre-
     ates missing directories for the configuration and prints warnings pertain-
     ing to problems in the configuration.

     The  command  --check-key	(or  just --check) checks whether a key with the
     given user-id is installed.  The process returns success in this  case;  to
     also  print  a diagnostic use the option -v.  If the key is not installed a
     diagnostic is printed and the process returns failure; to suppress the  di-
     agnostic,	use option -q.	More than one user-id can be given; see also op-
     tion with-file.

     The command --install-key manually installs a key into the WKD.  The  argu-
     ments  are  a  file  with	the keyblock and the user-id to install.  If the
     first argument resembles a fingerprint the key is taken  from  the  current
     keyring;  to  force the use of a file, prefix the first argument with "./".
     If no arguments are given the parameters are read from stdin; the	expected
     format are lines with the fingerprint and the mailbox separated by a space.

     The  command  --remove-key  uninstalls a key from the WKD.  The process re-
     turns success in this case; to also print a diagnostic, use option -v.   If
     the  key  is  not installed a diagnostic is printed and the process returns
     failure; to suppress the diagnostic, use option -q.

     The command --revoke-key is not yet functional.

     This tool needs to insert strings into the mails which  can  be  configured
     using  a  plain  text  file.   The  installed  default  files  for  English
     (`wks-utils.txt') and German (`wks-utils.de.txt') can be copied to the sys-
     tem configuration directory and changed to local needs.  Environment  vari-
     ables in these texts are expanded, the variable ``sigdelim'' is replaced by
     two  dashes  and  a blank, the variable ``address'' is replaced by the mail
     address of the key to be published.

OPTIONS
     gpg-wks-server understands these options:

     -C dir
     --directory dir
	    Use dir  as  top  level  directory	for  domains.	The  default  is
	    `/var/lib/gnupg/wks'.

     --from mailaddr
	    Use mailaddr as the default sender address.

     --header name=value
	    Add the mail header "name: value" to all outgoing mails.

     --send
	    Directly  send  created  mails using the sendmail command.	Requires
	    installation of that command.

     -o file
     --output file
	    Write the created mail also to file. Note that the value - for  file
	    would write it to stdout.

     --with-dir
	    When  used	with the command --list-domains print for each installed
	    domain the domain name and its directory name.

     --with-file
	    When used with the command --check-key print for each  user-id,  the
	    address, 'i' for installed key or 'n' for not installed key, and the
	    filename.

     --verbose
	    Enable extra informational output.

     --quiet
	    Disable almost all informational output.

     --version
	    Print version of the program and exit.

     --help
	    Display a brief help page and exit.

EXAMPLES
     The  Web Key Service requires a working directory to store keys pending for
     publication.  As root create a working directory:

	 # mkdir /var/lib/gnupg/wks
	 # chown webkey:webkey /var/lib/gnupg/wks
	 # chmod 2750 /var/lib/gnupg/wks

     Then under your webkey account create directories	for  all  your	domains.
     Here we do it for "example.net":

	 $ mkdir /var/lib/gnupg/wks/example.net

     Finally run

	 $ gpg-wks-server --list-domains

     to  create the required sub-directories with the permissions set correctly.
     For each domain a submission address needs to be configured.   All  service
     mails  are  directed  to  that address.  It can be the same address for all
     configured domains, for example:

	 $ cd /var/lib/gnupg/wks/example.net
	 $ echo key-submission@example.net >submission-address

     The protocol requires that the key to be published  is  sent  with  an  en-
     crypted mail to the service.  Thus you need to create a key for the submis-
     sion address:

	 $ gpg --batch --passphrase '' --quick-gen-key key-submission@example.net
	 $ gpg -K key-submission@example.net

     The output of the last command looks similar to this:

	 sec   rsa3072 2016-08-30 [SC]
	       C0FCF8642D830C53246211400346653590B3795B
	 uid	       [ultimate] key-submission@example.net
		       bxzcxpxk8h87z1k7bzk86xn5aj47intu@example.net
	 ssb   rsa3072 2016-08-30 [E]

     Take the fingerprint from that output and manually publish the key:

	 $ gpg-wks-server --install-key C0FCF8642D830C53246211400346653590B3795B \
	 >		  key-submission@example.net

     Finally  that submission address needs to be redirected to a script running
     gpg-wks-server.  The procmail command can be used for  this:  Redirect  the
     submission  address to the user "webkey" and put this into webkey's `.proc-
     mailrc':

       :0
       * !^From: webkey@example.net
       * !^X-WKS-Loop: webkey.example.net
       |gpg-wks-server -v --receive \
	    --header X-WKS-Loop=webkey.example.net \
	    --from webkey@example.net --send

SEE ALSO
     gpg-wks-client(1)

GnuPG 2.5.18			   2026-06-12		       GPG-WKS-SERVER(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gpg-wks-server&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help