[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

v2.4 Certificate Management Library (CML) Now Available


DigitalNet Government Solutions has delivered the Version 2.4 Certificate Management Library (CML) for Microsoft Windows, Sun Solaris and Linux.  The v2.4 CML and documentation is freely available at:

Applications requiring Public Key Infrastructure (PKI) security 
services can use the CML to meet their X.509 certificate and 
Certificate Revocation List (CRL) processing requirements.  
The v2.4 CML is described in the v2.4 CML Application Programming
Interface (API) document.  It implements the 2000 X.509 Recommendation
certification path verification processing rules and SDN.706 profile.
It meets the majority of the IETF PKIX RFC 3280 Certificate/CRL Profile
requirements.  There are some unsupported features such as 
Delta CRLs.  The v2.4 CML Abstract Syntax Notation One (ASN.1)
decodes X.509 Certificates and CRLs.  It requires the v1.6
Enhanced SNACC ASN.1 software that is freely available from:

The CML provides robust certification path building capabilities such
as using cross certificates.  The CML uses the accompanying Storage 
and Retrieval Library (SRL) (optionally) to provide local certificate
and CRL storage management functions.  The SRL (optionally) provides 
remote directory retrieval capabilities using the Lightweight
Directory Access Protocol (LDAP).

The CML has been thoroughly tested including validating X.509 
Certificates and CRLs created by a variety of Certification 
Authority (CA) products, and signed using the Digital Signature
Algorithm (DSA) and RSA algorithms.  Further enhancements, 
ports and testing of the CML are still in process.  Further
releases of the CML will be provided as significant 
capabilities are added. 

CML v2.4 includes the following enhancements (compared to v2.3 CML release):

1) Replaced the CTIL interface for the CML with a newly created PKCS#11 interface.

2) Implemention of a CRL server with support for the "Delta CRL" and "Freshest CRL" 2000 X.509 extensions.  This architectural change is a step toward the CML's migration of OCSP compatability.

3) Enhanced the API to support the option for the application to request the CML log path building and validation events to aid in debugging and troubleshooting.

4) Enhanced the API to include callback functions to allow an application to perform its own revocation processing, rather than the crlapi library.

5) Added the capability to cache invalid certificates and CRLs.

6) Added a CRL grace period that can be specified by the application when creating a CML session.  The grace period allows the application to specify the amount of time past a CRL's nextUpdate during which the CML will treat the CRL as still current.

v2.4 SRL includes the following enhancements (compared to v2.3 SRL release):

1) Modified the default crlRefreshPeriod from 0 to LONG_MAX when CML creates an SRL session.  When zero, the CRLs in the database were always being treated as stale; the new default is the always treat them as fresh.

2) Added a location mask to SRL_URLrequestObjs() so the caller can specify whether to search the local databse, the remote server, or both.

3) Enhnaced LDAPInitSettings_struct with a timeout field that controls how long to wait for the ldap_result() function.  Previously, the timeout was hardcoded to 30 seconds.

All source code for the CML is being provided at no cost and with no financial limitations regarding its use and distribution. Organizations can use the CML without paying any royalties or licensing fees.  The CML was originally developed by the U.S. Government.  DigitalNet is enhancing and supporting the CML under contract to the U.S. Government.  The U.S. Government is furnishing the CML software at no cost to the vendor subject to the conditions of the CML Public License provided with the CML software.  
The CML makes calls to an algorithm-independent CTIL API that provides
access to a variety of external crypto libraries. There is a CTIL for
each crypto library that maps the generic CTIL API calls to the
specific calls for that crypto library. DigitalNet provides CTILs for
the Microsoft CAPI v2.0, Crypto++, RSA BSAFE, Spyrus SPEX/ and
FORTEZZA Cryptologic Interface libraries. DigitalNet also provides a
PKCS #11 CTIL that enables PKCS #11-compliant libraries to be used
with the CML. The underlying, external crypto libraries are not
distributed as part of the CML software.

The CML has been successfully tested with the v2.4 S/MIME Freeware
Library (SFL) that is freely available from

The CML has been successfully tested with the v2.4 Access Control
Library (ACL) that is freely available to everyone from:

The CML has been successfully used to build and verify
certificate paths used in the Bridge Certification Authority (BCA)
demonstration which includes cross-certified hierarchical and non-
hierarchical PKIs. The BCA Interoperability Test Suite (BITS)
is a free and openly available test resource provided to
facilitate vendor development of secure, interoperable Public
Key Enabled applications. The CML has been used to successfully
develop and verify the BITS X.509 certification paths available
from <http://bcatest.atl.DigitalNet.com>.

The National Institute of Standards and Technology (NIST) is
providing a standard test suite of X.509 certificate paths
<http://csrc.nist.gov/pki/testing/x509paths.html> that can be
used for testing applications against RFC 2459. The CML was
used to successfully process the NIST test data.

The CML meets the requirements stated in the SDN.706 Certificate/
CRL Profile required by the U.S. Defense Message System (DMS)

The Internet Mail Consortium (IMC) has established a CML web page
<http://www.imc.org/imc-cml> and a CML mail list which is used to:
distribute information regarding CML releases; discuss CML-related
issues; and allow CML users to provide feedback, comments, bug
reports, etc. Subscription information for the imc-cml mailing list
is at the IMC web site listed above.

All comments regarding the CML source code and documents are welcome.
This CML release announcement was sent to several mail lists, but
please send all messages regarding the CML to the imc-cml mail list
ONLY. Please do not send messages regarding the CML to any of the IETF
mail lists. We will respond to all messages sent to the imc-cml mail
Matthew J. Bertapelle
DigitalNet Government Solutions, LLC