Novell Certificate Server Libraries for C

1.0 Overview

The Novell® Certificate Server™ Libraries for C provide programmatic access to Novell Certificate Server. Certificate Server in an enterprise public key infrastructure (PKI) solution that offers the ability to freely mint an unlimited number of digital certificates for end-users (such as to enable secure e-mail or X.509 certificate-based authentication) and for servers (such as to enable SSL security).

Novell currently provides the following three C Certificate Server API libraries:

  • Certificate Server Library for C (NWPKI) (Version 1): The original public key management API library that is deprecated. This library can only be used on NetWare and Windows where the Novell Client has been installed.

  • Certificate Server API Version 2 (NPKI): A cross platform, Novell eDirectory™-centered public key management library that does not depend on the Novell Client.

  • Public Key Infrastructure Toolbox (NPKIT): A cross platform public key utility library. This library does not have dependencies on eDirectory.

NOTE:The Certificate Server Classes for Java (JPKI) is a Java-based API that provides all of the functionality of the C API.

NPKI and NPKIT libraries, which supersede the original Novell Certificate Server Library (Version 1) (NWPKI), should be used together to provide the same functionality as the original API. NPKI and NPKIT should be used by all new applications, as well as existing applications that plan to use any of the new functionality.

Existing programs may retain backward compatibility by continuing to use the original NWPKI library. All future Certificate Server bug fixes and product enhancements will be incorporated into the new API libraries only.

NOTE:Neither NPKI or NPKIT require the Novell Client.

2.0 What's New

Rolled in the latest version of the 3.3 software, which includes all bug fixes for future releases of the Certificate Server API. To see what was changed in the software, sample code, and documentation for previous releases, see the What's New archive.

To see the specific documentation changes that were made, see the Revision History.

3.0 Documentation

We’ve enabled Start menu documentation entries. After you have downloaded and installed the documentation, use the “NDK Documents” entry on your Start menu to quickly locate and access NDK documentation.

The documents in this download were created as standalone files; therefore, links between files in this download and links to files in other downloads will not resolve. To read or print the documentation, you need the current version of Adobe Acrobat Reader, a free download.

The download for each of the C and Java APIs includes a single documentation file in the [install directory]\\NDK\\doc\\ncslib directory:

  • pkis.pdf—Certificate Server Library for C (NWPKI) (Version 1)

  • npki.pdf—Certificate Server API Version 2 (NPKI)

  • npkit.pdf—Public Key Infrastructure Toolbox (NPKIT)

  • jpki.pdf—Certificate Server Classes for Java (JPKI) (Early Access). The Javadoc API Reference also is available on line.

3.1 Product Documentation

For detailed on-line Novell Certificate Server product documentation, see:

For the latest NICI product documentation, see:

4.0 System Requirements

To use Novell Certificate Server Libraries for C on the server, choose from the following:

4.1 NetWare

  • Novell Netware 5.1 (SP8) or later; NetWare 6.5 (SP5) or later.

  • Novell eDirectory 8.73 (SP7) or later or Novell eDirectory 8.8.

  • Security Support Pack 2.0.5 or later (includes NICI and Novell Certificate Server).

4.2 NetWare Server as a Client

  • Novell NetWare 5.1 (SP8) or later or NetWare 6.5 (SP5) or later.

  • Novell eDirectory 8.73 (SP7) or later or Novell eDirectory 8.8.

  • Security Support Pack 2.0.5 or later (includes NICI and Novell Certificate Server).

4.3 IBM AIX

  • IBM AIX* 4.3 or 5.

  • Novell eDirectory 8.73 (SP7) or later or Novell eDirectory 8.8.

  • Security Support Pack 2.0.5 or later (includes NICI and Novell Certificate Server).

NOTE:NPKIT does not require eDirectory.

4.4 Microsoft Windows

  • Microsoft Windows* NT version 4.0 with Service Pack 3 or above, or Windows 2000/XP.

  • Novell International Cryptographic Infrastructure (NICI) version 2.70 or later installed on the client.

  • (Optional unless running eDirectory) Security Support Pack 2.0.5 or later (includes NICI and Novell Certificate Server).

4.5 Red Hat Linux

  • Red Hat 7.2 or 7.3.

  • Novell eDirectory 8.73 (SP7) or later or Novell eDirectory 8.8.

  • Security Support Pack 2.0.5 or later (includes NICI and Novell Certificate Server).

NOTE:NPKIT does not require eDirectory.

4.6 Sun Solaris

  • Solaris 2.7 or 2.8.

  • Novell eDirectory 8.73 (SP7) or later or Novell eDirectory 8.8.

  • Security Support Pack 2.0.5 or later (includes NICI and Novell Certificate Server).

NOTE:NPKIT does not require eDirectory.

5.0 Common Problems

5.1 NPKI Issues

When using the NPKI Certificate Server APIs it is important to remember that you must call NPKICreateContext and supply the acquired context to all subsequent calls. It is also important to call NPKIFreeContext when finished making calls to the API.

It is important to call NPKISetTreeName so that the API will contact the correct tree. Always call NPKIDSLogin after NPKISetTreeName.

When using the API from the server, it is necessary to call NPKIDSLogin, because there is not an identity for the API to take over.

5.2 JPKI Issues

If an application makes use of JPKI (NCSJAVA), you need to update both NPKI and JPKI together as they are a matched set. Mis-matched versions will cause the APIs to crash.

5.3 PDF Link Failure

Because Certificate Server components downloaded from the NDK typically are not placed in relative directories, Adobe PDF links between the Java and C Certificate Server NDK documentation do not resolve. However, HTML links do resolve properly when documentation is viewed on line.

6.0 NPKI Linking Libraries

6.1 Using APIs with NetWare (Server) as a Client

The API functionality is being provided in the library NLM: NPKIAPI.nlm.

You may wish to auto-load the NLM when your NLM loads. The import file is: inc\\npki.imp.

6.2 Using APIs with Windows as a Client

The API functionality has been provided as a multi-threaded dynamic library. The library you will need to link to is: win32\\final\\npkiapi.lib.

7.0 Sample Code

To view the available sample code files, see the Novell Certificate Server Libraries for C Sample Code Page.

8.0 Legal Notices

Novell, Inc. makes no representations or warranties with respect to the contents or use of this download, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. Further, Novell, Inc. reserves the right to revise this publication and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes.

Further, Novell, Inc. makes no representations or warranties with respect to any software, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. Further, Novell, Inc. reserves the right to make changes to any and all parts of Novell software, at any time, without any obligation to notify any person or entity of such changes.

You may not use, export, or re-export this product in violation of any applicable laws or regulations including, without limitation, U.S. export regulations or the laws of the country in which you reside.

All files provided in this release are subject to the Novell Developer License Agreement, which can be found in the license.txt file provided in this download.

Copyright © 1997-2007 Novell, Inc. All rights reserved. No part of this publication may be reproduced, photocopied, stored on a retrieval system, or transmitted without the express written consent of the publisher.

For a list of Novell current trademarks, see Trademarks.