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

FreeBSD Manual Pages

  
 
  

home | help
ocspd.conf.3(3) 	    OpenCA Contributed Manual		 ocspd.conf.3(3)

NAME
	     ocspd.conf - OCSP Daemon configuration file

DESCRIPTION
     A	configuration  file  is  divided into a number of sections. Each section
     starts with a line [ section_name ] and ends when a new section is  started
     or end of file is reached. A section name can consist of alphanumeric char-
     acters and underscores.

     The  first section of a configuration file is special and is referred to as
     the default section this is usually unnamed and is from the start	of  file
     until  the  first named section. When a name is being looked up it is first
     looked up in a named section (if any) and then the default section.

     The environment is mapped onto a section called ENV.

     Comments can be included by preceding them with the # character

     Each section in a configuration file consists of a number of name and value
     pairs of the form name=value

     The name string can contain any alphanumeric characters as well  as  a  few
     punctuation symbols such as . , ; and _.

     The value string consists of the string following the = character until end
     of line with any leading and trailing white space removed.

     The  value string undergoes variable expansion. This can be done by includ-
     ing the form $var or ${var}: this will substitute the value  of  the  named
     variable  in the current section. It is also possible to substitute a value
     from another section using the syntax $section::name  or  ${section::name}.
     By  using	the form $ENV::name environment variables can be substituted. It
     is also possible to assign values to environment  variables  by  using  the
     name  ENV::name,  this  will work if the program looks up environment vari-
     ables using the CONF library instead of calling getenv() directly.

     It is possible to escape certain characters by using any kind of  quote  or
     the  \ character. By making the last character of a line a \ a value string
     can be spread across multiple lines. In addition the sequences \n,  \r,  \b
     and \t are recognized.

NOTES
     If  a  configuration  file attempts to expand a variable that doesn't exist
     then an error is flagged and the file will not load. This can happen if  an
     attempt  is  made to expand an environment variable that doesn't exist. For
     example the default OpenSSL master configuration file  used  the  value  of
     HOME which may not be defined on non Unix systems.

EXAMPLE
     Following is a sample configuration file:

      # OCSPd example configuration file.
      # (c) 2001 by Massimiliano Pala - OpenCA Project.
      # All rights reserved

      [ ocspd ]
      default_ocspd   = OCSPD_default

      [ OCSPD_default ]

      dir	       = /usr/local/etc/ocspd
      db	       = $dir/index.txt
      md	       = sha1

      ca_certificate	= $dir/certs/cacert.pem
      ocspd_certificate = $dir/certs/ocspd_cert.pem
      ocspd_key 	= $dir/private/ocspd_key.pem
      pidfile		= $dir/ocspd.pid

      user		      = ocspd
      group		      = daemon
      bind		      = *
      port		      = 2560
      max_childs_num	      = 5
      max_req_size	      = 8192

      request	       = ocsp_req
      response	       = ocsp_response

      dbms		      = dbms_ldap     # Example using the LDAP for CRL
					      # retrivial

      #dbms		      = dbms_file     # Example using file for CRL

      engine = HSM			      # ENGINE section

      ####################################################################
      [ ocsp_req ]
      default_keyfile	      = key.pem

      ####################################################################
      [ ocsp_response ]
      dir		      = /usr/local/etc/ocspd
      ocsp_add_response_certs = $dir/certs/chain_certs.pem
      ocsp_add_response_keyid = yes
      next_update_days	      = 0
      next_update_mins	      = 5

      ####################################################################
      [ dbms_ldap ]

      # It is possible to use an URI to identify a CRL and/or the
      # CA certificate, the general format is:
      #
      #      [protocol]://[user[:pwd]@]server[:port]/[path]
      #
      # where:
      #   protocol - specifies the protocol to be used, supported are
      # 	     file, ldap, http
      #   user	   - is the user for auth (meaningful only if ldap or
      # 	     http is used)
      #   pwd	   - password used for auth (meaningful only if ldap
      # 	     or http is used)
      #   port	   - port to connect to (meaningful only if ldap or
      # 	     http is used)
      #   path	   - complete path to the object (meaningful only if
      # 	     http is used)
      #
      # You can have the CRLs/CA certificates on a simple file
      #    crl_url = file:///usr/local/etc/ocspd/crl.pem
      #
      # You can retrieve the CRLs/CA certificates from a web server
      #    crl_urt = http://server/ca/cacert.der
      #
      # You can store the CRL into an LDAP server, simply
      # store it in certificateRevocationList;binary attribute
      #
      # There are different way, all legal, to specify the CRL
      # URL address:
      # crl_url = ldap://user:pwd@ldap.server.org:389
      # crl_url = ldap://ldap.server.org:389
      crl_url = ldap://localhost

      # The CRL entry DN is the DN to look for when retrieving the
      # date from the LDAP server. Put here the complete DN (usually
      # the DN of the CA's certificate).
      crl_entry_dn = "email=email@address, cn=Certification Auth, \
						  o=Organization, c=IT"

      ####################################################################
      [ dbms_file ]

      # You can have the CRL on a simple file in PEM format
      crl_url = file:///usr/local/etc/ocspd/crl.pem

      [ HSM ]
      # Hardware accelerators support via the ENGINE interface
      engine_id = MyAccelerator
      0.engine_pre = login:1:10:11:myPassword
      # 0.engine_post = logout:1:10:11

     Let's analyze the options in detail.

     default_ocspd section
	   In this section of the configuration file are set the general options
	   used  by the responder, some of which are available using the command
	   line options too ( see ocspd(3)).

     dir   specifies the directory where everything is kept.

     db    specifies the db where info about issued certificates are kept. Right
	   now the only supported file format is the one  from	openssl(1).   To
	   reload  the certificate's db simply send a SIGHUP to the main process
	   ( kill -s SIGHUP pid ).

     md    specifies the digest to be used. Default is sha1.

     ca_certificate
	   path to the CA's certificate.

     ocspd_certificate
	   path to the certificate to be used by the responder.

     ocspd_key
	   path to the private key file to be used by the responder.

     pidfile
	   path to the pid file where the responder  will  write  its  pid  when
	   starting.

     user  user  id  the responder will try to run as, this must be a valid UID.
	   If not specified the responder will run as the user who  started  the
	   daemon.

     group group  id the responder will try to run as, this must be a valid GID.
	   If not specified the responder will run as the user who  started  the
	   daemon.

     bind  address  to	listen to. You can force the responder to listen to just
	   one of the available addresses. If you want the responder  to  listen
	   to every available interface, simply use '*' (default).

     port  specifies the port to listen to.

     threads_num
	   Number  of  threads	that  shall be created at startup time, the more
	   threads, the better for handling very high traffic. We expect to have
	   better performances on multi-threaded machines and processors.

	   From version 1.5+ the server is not pre-forked, instead it is a  pre-
	   threaded  one.  In order to run the server needs support for POSIX1.c
	   as found in most modern UNiX systems.

     chroot_dir
	   Chroot the application into the specified directory,  watch	out  be-
	   cause if you chroot the application, all the paths should be relative
	   to  the  new  root for CRL reloading or (better solution) you have to
	   download the CRLs from HTTP or LDAP. If you chroot  and  you  do  not
	   provide  support  for  privileges  dropping,  privileges  will not be
	   dropped and an error will be written in the logfile, but  the  server
	   will  continue  to run assuming the chroot() is sufficiently isolated
	   to prevent abuse of the machine.

     max_req_size
	   maximum size of received request, if a received request is bigger  it
	   will be trashed. Usually simple requests are 200/300 bytes long (more
	   or less).

     request section
	   Currently not used

     response section
	   Here are kept options tied to responses' building.

     dbms section
	   Here are kept options tied to the revoked certificates' list.

	   ocsp_add_response_certs
	       specifies  path	to a file containing certificates to be added to
	       the response (usually the whole	certification  chain).	Certifi-
	       cates have to be in PEM format one after another (a simple cat of
	       the certificates will do fine).

	   ocsp_add_response_keyid
	       specifies if adding of the key id to the response.

	   next_update_days
	       specifies the number of days till next update is available. A re-
	       sponse will be valid in the period following the request till the
	       days+mins.

	   next_update_mins
	       specifies  the number of minutes till next update is available. A
	       response will be valid in the period following the  request  till
	       the days+mins.

	   ca_url
	       specifies  the URI where the CA certificate (which identifies the
	       single CA) is located. Three different protocols are  implemented
	       ( file:// http:// or ldap:// ). If file is chosen, then the para-
	       meter  should carry the path to the CA file (i.e. file:///usr/lo-
	       cal/etc/ca.pem).  If ldap or http is chosen, you can specify  the
	       address,  and  the  port  of the server where to connect to (i.e.
	       ldap://server.addr:port).

	   crl_url
	       specifies the URI where the CRL (list  of  revoked  certificates,
	       actually used for building responses) is located. Three different
	       protocols  are  actually implemented ( file:// http:// or ldap://
	       ).  If file is chosen, then the parameter should have the path to
	       the crl file (i.e. file:///usr/local/etc/cacrl.pem). If	ldap  or
	       http  is chosen, you can specify the address, and the port of the
	       server where to connect to (i.e. ldap://server.addr:port).

	   crl_entry_dn
	       specifies, if ldap:// protocol is chosen within the crl_url para-
	       meter, the entry where to look for the  certificateRevocationList
	       attribute  where  the CRL should be present (usually this is also
	       the base of the LDAP tree, but different installations  are  also
	       possible).

     ENGINE section
	   engine_id
		 Specifies the ENGINE id to be used - check OpenSSL and your HSM
		 vendor to get more info about this parameter.

	   engine_pre
		 Some HSM need initialisation before access to the crypto accel-
		 erated  functions is granted. It is possible, by using the 'en-
		 gine_pre' options to issue needed commands directly to the HSM.

		 The format is as follows:
		    0.engine_pre = cmd:values
		    1.engine_pre = cmd2:values
		    ...  It is possible to have as many commands as needed.

	   engine_post
		 Some HSMs need to perform commands after the ENGINE initialisa-
		 tion which are taken from the 'engine_post' option.  Usage  and
		 format  is  exactly the same as 'engine_pre', the difference is
		 that commands are sent to the HSM after the ENGINE_init() func-
		 tion. Refer to your HSM documentation for more informations

AUTHOR
	 Massimiliano Pala <madwolf@openca.org>

SEE ALSO
	 ocspd(3),openca(3),openssl(1), ocsp(1)

openca-ocspd 3.1.2		   2017-10-26			 ocspd.conf.3(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ocspd.conf&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help