Security Domain Infrastructure


Security Domain Infrastructure (SDI) and NICI are tightly related.

NICISDI stands for NICI Security Domain Infrastructure. This module is responsible for managing Keys, where a domain is typically defined as the EDirectory tree.

When eDirectory is installed a few special security objects are created.

First, the Key Access Partition (KAP) container is created underneath the Security Container. Inside the KAP container, the W0 object is created. The KAP and W0 objects represent the Security Domain for the tree. A server, or list of servers, are assigned to be the Key server. The Key server job is to hand out the SDI Key or TreeKey to other servers in the tree. Security Domain servers ("Key server") manage SDI Key or TreeKey. Any NcpServer can be configured as a Key server and therefore there can be multiple Security Domain servers Key server in a tree.

NICISDI Keys types The Security Domain Key (SDI Key) is created when the first NcpServer is installed, or if there is an existing tree with the Security Domain Infrastructure already in the tree, the server retrieves the SDI Key from the W0 Servers during the server installation.

A SDI Key is a key which is held by each server in the tree.

The Key Access Partition and W0 objects #

The Key Access Partition and W0 objects don't hold a copy of the actual SDI Key. The WO object simply holds the DN of server(s) in the tree which can distribute the SDI Key to other servers.

The actual SDI Key is encrypted and stored on the hard disk of the server in the NICISDI.KEY which is one of the NICI Configuration Files. Note: The NICISDI.KEY file is wrapped with each servers own Key. Therefore you should never copy or restore the NICISDI.KEY file from server to server, as these are server specific files.

The main reason why the SDI Key MUST be the same on all servers in a tree is because these keys are used to encrypt/decrypt the following things:

Note: It is imperative that all servers in the same tree have the same SDI Key. There are cases where there can be multiple Treekeys in a tree. Whether you have 20 SDI Keys (Treekeys) or 1 SDI Key, all servers in the tree need to have all SDI Keys. NICISDI Tree Key Provider Fault Tolerance

Security Domain Infrastructure Modules:#

Depending on the operating system, NICISDI is represented by the following modules:
  • On NetWare - NICISDI.XLM (nicisdi.nlm)
  • On Windows - NICIEXT.DLM
  • On Unix - libniciext.so

NICISDI is responsible for managing SDI Key, where a domain is defined as a whole eDirectory tree.

Regardless of the operating system there is a NICISDI.KEY file located on each server within a Security Domain Infrastructure. The NICISDI.KEY file contains the encrypted SDI Key

This file is stored, depending on the operating system, in the following locations:

Novell Support#

Always consult Novell before you get in trouble. These are where we could find more information:

Security Domain Infrastructure, how do they sync?#

'NDSPKI:SD Key Server DN' Attribute is a multi-valued attribute contains the list of Security Domain Infrastructure servers (Key server) in the tree. There MUST be at least one server in this list.

When a server boots or when NICISDI, niciext, or libniciext.so are loaded the 'NDSPKI:SD Key Server DN' attribute is read. Following this read, NICISDI, niciext, or libniciext connects to each server in the list and requests any new SDI Key from each server in this list.

NOTE: Only new SDI Key retrieval and Key Revocation is automatically done on every loading of NICISDI. During this process existing security keys are also checked for Key Revocation.

NOTE: Deletion of a SDI Key is NOT automatically done.


The first NcpServer was installed on Server1 and a tree was created called MyTree. The KAP and W0 objects were created during the install and the W0 object lists who is the Key server (NDSPKI:SD Key Server DN attribute on the W0 object). In this case, since this is the first server in the tree, Server1 would be listed as the Key server via the NDSPKI:SD Key Server DN attribute on the W0 object.

When the second server (Server2) is installed into the tree, Server2 would ask Server1 to send the SDI Key. This way both Server1 and Server2 each have a copy of their own SDI Key (or Treekey). Each server holds a physical copy of a NICISDI.KEY.

NICI SDI Tree Key Provider Fault Tolerance#

You can provide NICI SDI Tree Key Provider Fault Tolerance so every server would have every other server's 'NDSPKI:SD Key Server DN'

Security Domain Infrastructure Diagnostic Utility#

To obtain specific Security Domain Key (SDI Key or Treekey) information from servers or to verify all servers in the tree have the same SDI Key use the SDIDIAG.

We also have compiled some examples of using SDIDIAG Switches

NICISDI and SASDFM modules#

The NICISDI module manages the TreeKeys. SASDFM manages Session Keys between two physical boxes, typically between a client and a server.

More Information#

There might be more information for this subject on one of the following: