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

FreeBSD Manual Pages


home | help
OpenXPKI::Server::InitUser Contributed Perl DocumentaOpenXPKI::Server::Init(3)

       OpenXPKI::Server::Init -	daemon initialization

       This class is used to initialize	all the	objects	which are required.
       The code	is not in the server class itself to get a clean interface for
       the initialization and to avoid any "magic" stuff. We hope that this
       makes the customization of the code more	easier.

   Basic Initialization

       Initialization must be done ONCE	by the server process.	Expects	the
       XML configuration file via the named parameter CONFIG.


	 use OpenXPKI::Server::Init;

		CONFIG => 't/config.xml',

       If called this way, the init code processes all initialization steps.
       You may split the initialization	sequence in order to do	stuff in
       between steps by	providing an array reference TASKS as a	named

		CONFIG => 't/config.xml',
		TASKS  => [ 'config', 'i18n', 'log' ],

       and later simply	call

		CONFIG => 't/config.xml',

       to initialize the remaining tasks.

       If called without the TASKS argument the	function will perform all
       steps that were not already executed before.

       If called with the named	argument SILENT	set to a true value the	init
       method does not log successful initialization steps.


       Returns an array	of all remaining initialization	task names (i. e. all
       tasks that have not yet been executed) in the order they	would normally
       be processed.


       Returns a workflow factory which	already	has the	configuration added
       from the	configuration files and	is ready for use.


       expects as only parameter the option CONFIG. This must be a filename of
       an XML configuration file which is compliant with OpenXPKI's schema
       definition in openxpki.xsd. We support local xinclude so	please do not
       be surprised if you habe	a configuration	file which looks a little bit
       small. It returns an instance of	OpenXPKI::XML::Config.


       Initializes the code for	internationalization. It requires an instance
       of OpenXPKI::XML::Config	in the parameter CONFIG.

   Cryptographic Initialization

       Return an instance of the TokenManager class which handles all
       configured cryptographic	tokens.


       Prepares	a hash which has the following structure.


       Requires	'config', 'log'	and 'crypto_layer' in the Server Context.

       The hash	also includes validity information as defined in the
       configuration in	the following sample format:

	 $hash{PKI_REALM_NAME} = {
	     endentity => {
		 id => {
		     'User' => {
			 validity => {
			     notafter => {
				 format	=> 'relativedate',
				 validity => '+0006',
	     crl => {
		 id => {
		     'default' => {
			 validity => {
			     notafter => {
				 format	=> 'relativedate',
				 validity => '+000014',
	     ca	=> {
		 id => {
		     CA1 => {
			 status	= 1,	# (0: unavailable, 1: available)
			 identifier => 'ABCDEFGHIJK',
			 crypto	=> OpenXPKI::Crypto::TokenManager->new(...),
			 cacert	=> OpenXPKI::Crypto::X509->new(...),
			 notbefore => DateTime->new(),
			 notafter => DateTime->new(),

       See OpenXPKI::DateTime for more information about the various time
       formats used here.  Undefined 'notbefore' dates are interpreted as
       'now' during issuance.  Relative	notafter dates relate to the
       corresponding notbefore date.

       Two sections are	contained in the hash: 'endentity' and 'crl' The ID of
       endentity validities is the corresponding role (profile).  The ID of
       CRL validities is the internal CA name.

   Non-Cryptographic Object Initialization

       Initializes the database	interface and returns the database object

       Requires	'log' and 'config' in the Server Context.

       If database type	is SQLite and the named	parameter 'PURPOSE' exists,
       this parameter is appended to the SQLite	database name.	This is
       necessary because of a limitation in SQLite that	prevents multiple open
       transactions on the same	database.


       Returns an instance of the module OpenXPKI::Log.

       Requires	'config' in the	Server Context.


       requires	no arguments.  It returns an instance of the module
       OpenXPKI::Server::Authentication.  The context must be already
       established because OpenXPKI::XML::Config is loaded from	the context.


       requires	no arguments and is a simple function to send STDERR to
       configured file.	This is	useful to track	all warnings and errors.

perl v5.24.1			  2017-07-03	     OpenXPKI::Server::Init(3)

Name | Description | Functions

Want to link to this manual page? Use this URL:

home | help