|
||
|
|
This chapter provides an overview of Netscape Certificate Management System (CMS), a highly configurable set of software components and tools for creating, deploying, and managing certificates. Based on open standards for certificate management, Certificate Management System provides a complete, customizable, robust, scalable, and high-performance certificate management solution for your public-key infrastructure (PKI), extranets and intranets.
This chapter contains the following sections:
- Features
![]()
- How Certificate Management System Works
![]()
- Deployment Scenarios
![]()
- System Architecture
![]()
- CMS SDK
![]()
- Support for Open Standards
![]()
This section discusses the features of CMS.
CMS has four subsystems to provide flexibility in setting up your PKI. The subsystems are highly-cofigurable. The four subsystems that comprise CMS are as follows:
- The Certificate Manager is the subsystem that provides Certificate Authority functionality for issuing, renewing, revoking, and publishing certificates and creating and publishing CRLs. See Chapter 3 "Certificate Manager" for complete details.
![]()
- The Registration Manager is an optional subsystem that provides Registration Authority functionality. It establishes a trusted relationship with a Certificate Manager in which its signed requests are processed. See Chapter 4 "Registration Manager" for complete details.
![]()
- The Online Certificate Status Manager is an optional subsystem that provides stand-alone OCSP responder services. See Chapter 5 "OCSP Responder" for complete details.
![]()
- The Data Recovery Manager is an optional subsystem that provides private encryption key storage and retrieval. See Chapter 6 "Data Recovery Manager" for complete details.
![]()
Certificate Manager Flexibility and Scalability
The Certificate Manager can be deployed in several ways to provide flexibility in your PKI. Features include:
- support for multiple registration authorities tied to a single CA
![]()
- the ability to act as a root or subordinate CA
![]()
- high-availability cloning to allow CAs with identical functionality, keys and certificates to issue certificates with different sets of serial numbers.
![]()
Single CA Supports Multiple Registration Authorities
CMS lets you separate the registration process from the certificate-signing process with the help of Registration Managers. You can run multiple Registration Managers remotely, all reporting to a single Certificate Manager, to verify user identities and process certificate issuance, renewal, and revocation requests. The remote Registration Managers forward their completed and approved requests to the Certificate Manager for it to sign and issue the certificate automatically.
The Certificate Manager's ability to support multiple Registration Managers makes it more scalable and also adds an extra layer of security for the CA. For example, you can set a policy that requires all clients to go through a remote Registration Manager, and then have the remote Registration Manager route all client requests to the Certificate Manager located inside a firewall.
CMS can function as a root CA; in this case, the server signs its own CA signing certificate as well as other CA signing certificates, enabling you to create your own CA hierarchy. You can also install the server to function as a subordinate CA; in this case, the server gets its CA signing key signed by another CA in an existing CA hierarchy. See "Self-Signed Root vs. Subordinate CA" for complete details.
CMS can function as a linked CA, chaining up to many third-party or public CAs for validation; this provides cross-company trust, so applications can verify certificate chains outside the company certificate hierarchy. You chain a Certificate Manager to a third-party CA by requesting the Certificate Manager's CA signing certificate from the third-party CA.
If you don't want to create a CA hierarchy comprising root and subordinate CAs, you can create multiple clones of a Certificate Manager and configure each clone to issue certificates that fall within a distinct range of serial numbers. Because clone CAs and original CAs use the same CA signing key and certificate to sign the certificates they issue, the issuer name in all the certificates will be the same. Clone CAs and the original Certificate Managers they are based on issue certificates as if they are a single CA, and can be placed on different hosts for high availability failover support. See "Cloning a CA" for details. Also see "" for information on configuring clones for failover in a CMS system.
Each of the subsystems contains interfaces allowing interaction with various portions of the subsystem. All four subsystems share a common administrative interface. All four subsystems have an agent interface specific to that subsystem allowing agents to perform the tasks assigned to them. A Certificate Manager and a Registration Manager have an end-entity services interface allowing end-entities to enroll in the PKI.
CMS produces extensive logs that record system events and errors. Logs are configurable, allowing you to create logs for specific types of events, and for the logging level you desire. See "Logs" for complete details.
CMS allows you to sign log files digitally before archiving them or distributing them for audit purposes. This feature enables you to check whether the log files were tampered with after being signed. See "Signing Log Files" for complete details.
CMS can be configured to produce signed audit logs that record auditable events from the subsystem. The audit log feature is configurable, allowing you to specify the events that are logged. An auditor user is assigned who is the only user who can view the audit logs. This user's certificate is used to sign and encrypt the logs. See "Signed Audit Log" for complete details.
CMS provides the framework for self-tests of the system that are automatically run at startup and can be run on demand. It ships with a set of self tests that are configurable and allows you to create additional self tests using the CMS SDK. See "Self Tests" for complete details.
CMS provides a new authorization framework that allows you to create groups and assign access control to those groups. You can also change the default access control for prebuilt groups, and assign access control to individual users and IP addresses. Access points for authorization have been created for the major portions of the system allowing you to set access control rules for each of these. You can also create additional access points and additional access control lists using the CMS SDK. See Chapter 9 "Authorization" for complete details.
CMS provides authentication options for certificate enrollment including agent-approved enrollment in which an agent processes the request, and several automated enrollments, in which an authentication method is used, and upon successful authentication of the end-entity, the CA automatically issues a certificate. CMC enrollment is also supported allowing a request signed by an agent to be automatically processed. A set of prebuilt authentication plug-ins are available to enable and configure. You can create additional Authentication plug-in modules using the CMS SDK. See Chapter 10 "Authentication" for complete details.
CMS supports the enrollment and certificate issuance to a wide variety of end-entities. It can process certificate requests from various end entities, such as web browsers, servers, routers, and virtual private network (VPN) clients, and issue certificates that conform to X.509 version 3 standard.
The Certificate Manager can issue certificates with the following characteristics:
- Certificates that are X.509 version 3 compliant
![]()
- Unicode support for certificate subject name and issuer name
![]()
- Support for empty certificate subject name
![]()
- Support for customized components in subject names
![]()
- Support for CEP enrollment
![]()
- Support for customized extensions
![]()
CMS has a new feature called certificate profiles. Certificate Profiles allow you to create a single certificate profile associated with the issuance of a particular type of certificate by configuring the content of the certificate, the constraints put on the issuance of this certificate, the enrollment method used, and the input and output forms associated with this enrollment.
A set of certificate profiles are included for the most common certificate types. You can use these certificate profiles and configure their settings to suit your needs. Certificate Profiles are configured by an administrator, and then sent to the Agent Services Interface for agent approval. Once a certificate profile is approved, it is enabled for use. A dynamically generated HTML form for the certificate profile is used in the end-entity interface for enrollment which triggers this certificate profile. The server will verify that the defaults and constraints set in the certificate profile are met before acting on the request, and will use the certificate profile to determine the content of the issued certificate. You can create additional Certificate Profile plug-in modules using the CMS SDK. See Chapter 11 "Certificate Profiles" for complete details.
The policy feature of CMS allows you to set policies about certificate issuance, renewal, and revocation. You set policies that either define what is possible, for example the possible values of for the expiration date, and extensions that are used in a particular type of certificate. A set of prebuilt policies is available for you to enable and configure. You can create additional Policy plug-in modules using the CMS SDK. See Chapter 12 "Policies" for complete details.
CMS is capable of creating certificate revocation lists. This configurable framework allows you to define issuing points so a CRL can be created for each issuing point defined. You can issue CRLs for each type of certificate you issue, or for a specific subset of a type of certificate you issue. You can also configure the extensions used in the CRLs, and set up the frequency and intervals that CRLs are published. Delta CRLs can also be created for any issuing point that is defined.
The Certificate Manager can issue X.509 v1 or v2 CRLs. A CRL can be automatically updated whenever a certificate is revoked or at specified intervals. See Chapter 15 "Revocation and CRLs" for complete details.
The publishing feature allows you to publish certificates to files and an LDAP directory, and CRLs to files, LDAP directory, and an OCSP responder. The publishing framework provides a robust set of tools that allow you to publish to all three methods, and enables you to create rules that allow you to define a finer granularity of which types of certificates or CRLs are published where. You can enable and configure the default publishing modules, or you can create additional publishing plug-in modules using the CMS SDK. See Chapter 16 "Publishing" for complete details.
Notifications is a feature that allows you to set up automated messages when a particular event occurs, such as when a certificate is issued or revoked. The notification framework comes with default modules that you can enable and configure. You can create additional notification plug-in modules using the CMS SDK. See Chapter 13 "Automated Notifications" for complete details.
The Jobs feature allows you to set up automated jobs that run at defined intervals.The jobs framework comes with default jobs that you can enable and configure. You can create additional jobs plug-in modules using the CMS SDK. See Chapter 14 "Automated Jobs" for complete details
CMS supports certificate generation for dual key pairsseparate key pairs for signing and encrypting mail messages and other data. To support separate key pairs for signing and encrypting data, CMS supports generation of dual certificates for end-entities capable of generating dual key pairs, and supports key archival for encryption keys. If a client makes a certificate request for dual key pairs, the server issues two separate certificates. This feature is only supported for Netscape 7.0 and later browsers.
CMS supports Hardware Security Modules and crypto accelerators provided by various third-party vendors of PKCS #11 version 2.01-compliant products.
You can configure the server to use different PKCS #11 modules to generate and store key pairs (and certificates) for the Certificate Manager, Registration Manager, and Data Recovery Manager. Note that PKCS#11 hardware devices also provide key backup and recovery features for backup and recovery of the key material stored on the hardware token. Be sure to refer to the PKCS #11 vendor documentation on this subject.
With its support for open standards, CMS gives organizations confidence that they will be able to communicate within a heterogeneous computing environment. CMS supports standards in the following ways:
- Formulates, signs, and issues industry-standard X.509 version 3 public-key certificates; version 3 certificates include extensions that make it easy to include organization-defined attributes. This means that you can use these certificates for extranet and Internet authentication as well.
![]()
- Supports RSA public-key algorithm for signing and encryption, DSA public-key algorithm for signing, and MD2, MD5, and SHA-1 for hashing.
![]()
- Supports signature key lengths of up to 1024 bits (DSA) and 4096 (RSA) on both hardware and software tokens.
![]()
- Supports multiple message formats, such as KEYGEN/SPAC, CRMF/CMMF, CRS/CEP/SCEP, and PKCS #10 and CMC for certificate requests. All requests are delivered to CMS over HTTP or HTTPS; in the case of CRS/CEP/SCEP protocol, the delivery method is always over HTTP.
![]()
- Supports certificate formats that encompass certificates for SSL-based client and server authentication, secure Multipurpose Internet Mail Extensions (S/MIME) message signing and encryption, object signing, VPN clients, and CiscoTM routers.
![]()
- Supports generation and publication of CRLs conforming to X.509 version 1 and 2.
![]()
- Publishes certificates and CRLs to the any LDAP-compliant directory over LDAP and HTTP/HTTPS connections.
![]()
- Publishes certificates and CRLs to a flat file for importing into other resources. For example, the sample code for Flat File CRL and certificate publisher can be customized to store certificates and CRLs in an Oracle RDBMSTM.
![]()
- Publishes CRLs to an online validation authority (or OCSP responder), enabling real-time verification of certificates by OCSP-compliant clients.
![]()
Java SDK Extension Mechanism for Customization
The software development kit (SDK) provided with CMS includes APIs and tutorials for customizing different aspects of the system. You can write the following custom modules:
How Certificate Management System Works
CMS allows you to manage certificates by providing a flexible, scalable system for issuing, renewing, and publishing certificates; creating and publishing CRLs; and providing key storage and retrieval capabilities.
CMS is installed on each host running a CMS subsystem. The subsystems that will be run on that host are then installed with a default configuration. The default configuration includes basic administrative tasks like logging, and also contains configurable plug-in modules that are specific to each subsystem. You can set up more than one subsystem on each host, or multiple instances of a subsystem on the same host or on different hosts.
The four subsystems that comprise CMS are as follows:
- The Certificate Manager is the subsystem that provides Certificate Authority functionality for issuing, renewing, revoking, and publishing certificates and creating and publishing CRLs. See Chapter 3 "Certificate Manager" for complete details.
![]()
- The Registration Manager is an optional subsystem that provides Registration Authority functionality. It establishes a trusted relationship with a Certificate Manager where its signed requests are processed by the Certificate Manager. See Chapter 4 "Registration Manager" for complete details.
![]()
- The Online Certificate Status Manager is an optional subsystem that provides stand-alone OCSP responder services. See Chapter 5 "OCSP Responder" for complete details.
![]()
- The Data Recovery Manager is an optional subsystem that provides private encryption key storage and retrieval. See Chapter 6 "Data Recovery Manager" for complete details.
![]()
Each of the subsystems contains interfaces allowing interaction with various portions of the subsystem. All four subsystems share a common administrative interface. All four subsystems have an agent interface specific to that subsystem allowing agents to perform the tasks assigned to them. A Certificate Manager and a Registration Manager have an end-entity services interface allowing end-entities to enroll in the PKI.
- Administrative InterfaceThe administrative interface is a java application, called Netscape Console, that provides a GUI interface for performing administrative tasks and configuring plug-in modules and instances of plug-in modules. The area of Netscape Console that is specific to CMS tasks is called the CMS console. This interface is similar for all four subsystem. It contains some common configurable features, but also contains different plug-in types that can be configured depending on the kind of subsystem installed. The administrative interface is configured for user ID and password authentication. You can configure it for SSL authentication.
![]()
- Agent Services InterfaceThe agent services interface is a customizable HTML interface that can be used to perform agent tasks, such as editing and approving requests for certificate approval, certificate renewal, and certificate revocation. The agent services interface is almost identical for a Certificate Manager and a Registration Manager. The agent services interface for a Data Recovery Manager and an Online Certificate Status Manager are specific to those subsystem.
![]()
- End-Entity Services InterfaceThe end-entity interface is a customizable HTML interface that can be used for end-entities to enroll in your PKI, renew certificates, revoke their own certificates, and pick up issued certificates. It contains forms for different types of enrollments, and for the enrollment different types of end-entities. The Certificate Manager and the Registration Manager have an end-entity services interface, the Data Recovery Manager and OSCP Manager do not.
![]()
Each subsystem produces extensive system and error logs that record various events and system errors so that you can monitor and debug the system. All log records are stored in your local file system for quick and easy retrieval.
CMS allows you to sign log files digitally before archiving them or distributing them for audit purposes. This feature enables you to check whether the log files were tampered with after being signed.
The log feature is configurable, allowing you to select logging levels as well as what is logged. You can also create custom logs so that events can be separated by the categories you choose. See "Logs" for complete details.
CMS maintains audit trails for all eventscertificate requests and issuance, revocation requests, CRL publication, and so on. These audit records enable you to detect any unauthorized access or activity.
CMS allows you to set up special users called Auditors who have exclusive access to these logs, allowing independent auditing of your PKI.
You can customize audit logs to include the information you want to include in the audit log. See "Signed Audit Log" for complete details.
Each subsystem has its own internal database where it stores such things as issued certificates, certificate requests, and so on. The internal database is an instance of Netscape Directory Server that is used exclusively as the internal database for this subsystem. See "The Internal Database" for complete details.
CMS is preconfigured with four types of users who have various access to the system:
- Administrators who can perform any administrative or configuration task.
![]()
- Agents who can edit and approve requests.
![]()
- Auditors who can view and configure audit logs.
![]()
- Trusted Managers which are subsystems that have a trusted relationship with another subsystem.
![]()
CMS allows you to create users, and assign them the privileges of whichever group in which they are members. A user only has privileges for the instance of the subsystem in which the user is created and the privileges of the group in which the user is a member.
A configurable plug-in framework is provided to tailor authorization in your deployment. You can change the default privileges of the groups that are preconfigured by changing ACLs associated with those groups. You can create new groups, assigning privileges to the group by adding them to ACLs defining permissions. For example, you might create a special kind of administrator who is able to run the basic operations of the subsystem, but is not able to configure any of the features. See Chapter 9 "Authorization" for complete details.
CMS contains a new feature called Self Tests that performs certain tests of the system that happen at startup and can also be manual started in the CMS console. The tests then report results of the tests that you can view. You can configure which test you want to run, and create customized tests. See "Self Tests" for complete details.
Notifications is a feature that allows you to set up automated messages when a particular event occurs, such as when a certificate is issued, or revoked. See Chapter 13 "Automated Notifications" for complete details.
The Jobs feature allows you to set up automated jobs that run at defined intervals. See Chapter 14 "Automated Jobs" for complete details.
The Certificate Manager subsystem provides the capability of a Certificate Authority. It can issue, renew, revoke, and publish certificates as well as compiling and publishing CRLs.
The Certificate Manager acts as a Certificate Authority (CA). It can be configured as a self-signing CA, where it is the root CA, or it can act as a subordinate CA, where it obtains its own signing certificate from a public CA.
You can configure more than one CA either forming a vertical or horizontal chain of CAs. For example, you can create a root CA for your deployment that is either self-signing or subordinate to a public CA and then have one or more CAs below this root CA. Those CAs can have further CAs below them forming a chain of CA's. You can also clone a CA so that two CAs are set up in an identical manner and use the same CA signing Certificate, but each uses a different set of serial numbers for the certificates it issues.
Federal Bridge Certificate Authority
CMS also allows you to create a trusted relationship between two separate CAs by issuing and storing cross-signed certificates between these two CAs. This feature of the PKI is called Federal Bridge Certificate Authority (FBCA). This feature allows you to trust certificates issued by a CA outside of your PKI that shares a cross-signed certificate with the CA in your PKI.
Certificate Manager Functionality
The Certificate Manager issues, renews, and revokes certificates when it receives signed requests from either its own agents (user's who are assigned privileges to approve enrollment, renewal, and revocation requests), from a trusted Registration Manager, or from a third-party application that sends a signed request using its agent certificate that is set up for CMC enroll or revoke with the Certificate Manager.
The Certificate Manager also compiles lists of revoked certificates, called Certificate Revocation Lists (CRLs) that it can publish to files, an LDAP directory, or an OCSP service.
The Certificate Manager maintains a database of issued certificates, and of processed requests, so that it can track renewal, expiration, and revocation.
Types of Certificates That are Managed
CMS can issue and manage certificates for Certificate Authority signing certificates, cross-signed pair certificates (FBCA), SSL server certificates, router certificates, VPN client certificates, and end user certificates.
CMS provides the framework for revoking certificates which can either be initiated by an agent or by the end user themselves. An administrator can also revoke the certificates of any of the subsystems or agents.
CMS also support CMC Revocation. When the
CMCAuthplug-in is enabled, CMC enrollment and CMC revocation are both enabled. CMC Revocation allows you to send signed revocation requests that are automatically processed.CMS is capable of producing Certificate Revocation Lists (CRLs) that it can publish either to files, an LDAP directory, or to an OCSP responder.
You can also set up CRLs by Certificate Issuing Points allowing you to create more than one CRL defined by the issuing point. For example, you can issue a CRL for just CA Signing certificates, or separate CRLs for California and Florida end user certificates.
Delta CRLs can also be produced allowing you to create CRLs that contain only the revoked certificates since the last CRL was produced.
See Chapter 15 "Revocation and CRLs" for complete details.
How the Certificate Manager Works
This sections details the processes that a Certificate Manager goes through, and the various configuration settings involved in those processes.
The Certificate Manager contains an end-entity interface with various forms associated with various types of certificates and various types of users. This interface is customizable allowing you to only show the forms that are pertinent to your users, change the look and feel of the pages, or add and delete fields for your particular needs. Certificate requests that come through the Certificate Managers end-entity interface are processed by the Certificate Manager. If it is an agent-approved enrollment, an agent of the Certificate Manager must approve the request. If it is an automated enrollment, the request is considered approved if the end-entity supplies the correct information, and authenticates against the authentication method set up. See the Netscape Certificate Management System Customization Guide for information about customizing the end-entity interface.
CMS provides authentication plug-ins that allow you to set up automated enrollment and configure the particular method(s) you set up; it provides agent-approved enrollment, where an agent must approve the request by default. Each end-entity form is associated with a particular authentication method, either one of the automated methods or the agent-approved method. The Certificate Manager processes the request according to the method associated with the form. See Chapter 10 "Authentication" for complete details.
When the Certificate Manager processes requests from its own end-entity interface, it first considers the authentication method. If it is an agent-approved authentication method, the request is queued in the agent services interface where it awaits agent approval. The agent can change some aspects of the certificate that will be issued, and can approve, deny, or change the status of the request. If it is an automated enrollment, it authenticates the user, and then continues processing the request.
The Certificate Manager next evaluates the request to ensure that it meets either the policies set for this type of certificate, or the certificate profile set for this type of enrollment.
Policies are a set of plug-ins that allow you to set constraints on the certificate and define the content and the value of that content in the certificate. You can configure the default policies and associate them with a particular authentication method. You can also create custom policy modules. See Chapter 12 "Policies" for complete details.
Certificate Profiles is a new feature that binds an authentication method and certificate type to a set of constraints and certificate content definitions (defaults). It allows you to configure a single module for a type of certificate that binds to an authentication method and sets constraints for the certificate issued as well as defines the content and values for that content in the certificate. You can configure the default certificate profiles or create custom modules. See Chapter 11 "Certificate Profiles" for complete details.
If the policies from either the Policy or the Certificate Profiles framework are not met, the request is rejected, if they are met, the certificate is issued.
The Certificate Manager issues certificates when it receives signed requests from either its own agents (user's who are assigned privileges to approve enrollment, renewal, and revocation requests), from a trusted Registration Manager, or from a third-party application that sends a signed request that is set up for CMC enroll with the Certificate Manager.
The Certificate Manager creates the certificate using the information in the request and from the policies or certificate profile that are set up that match this kind of request.
Certificates can be published to a file, an LDAP directory, or OCSP responder. You set up the publishing feature and set up rules that determine which certificates are published using which method, and where exactly they are published. The publishing system is flexible allowing you many options in configuring it. If publishing is set up, a certificate is published to the correct location(s) whenever a certificate is issued. See Chapter 16 "Publishing" for complete details.
If you install a Data Recovery Manager, the private key is requested as part of enrollment and stored in the Data Recover Manager. See Chapter 6 "Data Recovery Manager" for complete details.
Storing Certificate Requests and Certificates
When it issues a certificate, the Certificate Manager stores both the certificate and the certificate request in its internal database.
A Certificate Manager allows end-entities to renew certificates if the policies are set up to allow for renewal. If so, the end-entity submits a renewal request in the end-entity interface, and provides the end-entities' old certificate. The Certificate Manager will then issue a new certificate according to the policies set.
End-entities can submit certificate revocation requests in the end-entity interface. They might do this if they lose their private key, or if their certificate has been otherwise compromised. When an end-entity requests a revocation, the request is sent to the agent services interface for agent approval.
An agent can also revoke a certificate if the owner of the certificate is unwilling or unable to do so.
When the certificate is revoked, it is marked revoked in the internal database, and is marked revoked in the publishing system. The certificate is also added to the Certificate Revocation List (CRL) produced by the Certificate Manager. See Chapter 15 "Revocation and CRLs" for complete details.
Whenever a certificate is revoked, any CRLs that are set up are edited and updated in the internal database. It is also published to a file, an LDAP directory, or an OSCP responder, if you have set up these services. You can configure the Certificate Manager to issue CRLs, and also define CRL Issuing Points that define which certificates go into each CRL, such as CA signing certificates, or for a subset of a type of certificates, such as those certificates issued to west coast employees.
The publishing framework allows you the flexibility to define which CRL is published where. It also allows you to define the extensions contained in a CRL, and the frequency and intervals when a CRL are published.
You can also provide delta CRLs allowing you to publish a list of only those certificates have been revoked since a certain date.
See Chapter 15 "Revocation and CRLs" for complete details.
About the Registration Manager
The Registration Manager is an optional subsystem of CMS that can act as a Registration Authority (RA). It establishes a trusted relationship with a Certificate Manager in which its signed requests are processed. The Registration Manager is able to accept enrollment, renewal, and revocation requests; process those requests either by agents or through an automated means; provide agent initiated requests for enrollment, renewal, and revocation; send signed requests to a Certificate Manager, and disburse certificates that are created by the Certificate Manager. You can set up a Registration Manager outside a firewall to protect a Certificate Manager behind a firewall, or you can use a Registration Manager to balance the incoming load for a Certificate Manager by off loading the enrollment and approval to one or more Registration Manager.
The Registration Manager cannot issue, renew, or revoke certificate, and does not compile CRLs. It can publish certificates, but it cannot publish CRLs.
It can, however, be configured for authentication, authorization, certificate profiles, policies in an almost identical manner as a Certificate Manager.
How the Registration Manager Works
This sections details the processes that a Registration Manager goes through, and the various configuration settings involved in those processes.
Similar to the Certificate Manager, the Registration Manager contains an end-entity interface with various forms associated with various types of certificates and various types of users. This interface is fully customizable allowing you to only show the forms that are pertinent to your users, change the look and feel of the forms, or add and delete fields. Certificate requests that come through the Registration Managers end-entity interface are processed by the Registration Manager. If it is an agent-approved enrollment, an agent of the Registration Manager must approve the request. If it is an automated enrollment, the request is considered approved if the end entity supplies the correct information, and authenticates against the authentication method set up. See the Netscape Certificate Management System Customization Guide for details about customizing the end-entity interface.
CMS provides authentication plug-ins that allow you to set up automated enrollment and set configuration settings for that method(s); it provides agent-approved enrollment, where an agent must approve the request by default. The Registration Manager also provides an in-person registration method where an end user appears in person to request the certificate, and the agent enters and approves the requestnote that the Certificate Manager does not support in person registration by agents. Each end-entity form is associated with a particular authentication method, either one of the automated methods or the agent-approved method. The Registration Manager processes the request according to the method associated with the form. See Chapter 10 "Authentication" for complete details.
The Registration Manager is in complete control of the authentication of users. No matter how the Certificate Manager is set up for authentication, the Certificate Manager will accept a request sent by the Registration Manager and not apply any authentication of its own.
When the Registration Manager processes requests from its own end-entity interface, it first considers the authentication method. If it is an agent-approved enrollment method, the request is queued in the agent services interface where it awaits agent approval. The agent can change some aspects of the certificate that will be issued, and can approve or deny the request. If it is an automated enrollment, the Registration Manager authenticates the user, and then continues processing the request.
The Registration Manager next evaluates the request to ensure that it meets either the policies set for this type of certificate, or the certificate profile set for this type of enrollment.
Policies are a set of plug-ins that allow you to set constraints on the certificate and define content and values for that content in the certificate. You can configure the default policies and associate them with a particular certificate type. You can also create custom policy modules. See Chapter 12 "Policies" for complete details.
Certificate Profiles are a new feature that bind an authentication method and certificate type to a set of constraints and certificate content and values for that content. It allows you to configure a single module for a type of certificate that binds to an authentication method and sets constraints for the certificate issued as well as defines the content and values for that content in the certificate. You can configure the default certificate profiles or create custom modules. See Chapter 11 "Certificate Profiles" for complete details.
If the constraints from either the Policy or the Certificate Profiles framework are not met, the request is rejected, if they are met, the certificate is issued.
Approved, signed certificate requests are sent to the Certificate Manager in which a trusted relationship has been established.
The request is next evaluated by the policies or certificate profiles of the Certificate Manager. The request must meet the constraints set by the Certificate Managers in order for a certificate to be issued. For example, the Registration Manager may allow for this type of certificate to be issued with validity period of one year. If the Certificate Manager has a policy set up the constrains this type of certificates to a validity period of six months, the certificate will not be issued.
The Certificate Manager creates the certificate and returns it to the Registration Manager.
Certificates can be published to a file or an LDAP directory. You set up the publishing feature and set up rules that determine which certificates are published using which method, and where exactly they are published. The publishing system is flexible allowing you many options in configuring it.
The Registration Manager publishes only those certificates that it processes. You can set up publishing in a Registration Manager in order to publish a subset of the certificates issued by a Certificate Manager. A Registration Manager does not publish CRLs. If you set up publishing in both the Certificate Manager and the Registration Manager, certificates will be published to the locations specified and according to the rules specified in both, the publishing systems of each are totally separate, they do not work in tandem. See Chapter 16 "Publishing" for complete details.
If you install a Data Recovery Manager, the private key is requested as part of the enrollment and stored in the Data Recover Manager. See Chapter 6 "Data Recovery Manager" for complete details.
Storing Certificate Requests and Certificates
When it issues a certificate, the Certificate Manager stores both the certificate and the certificate request in it internal database. See "The Internal Database" for complete details.
A Registration Manager allows end-entities to renew certificates if the policies are set up to allow for renewal. If so, the end-entity submits a renewal request in the end-entity interface, and provides their old certificate. The Certificate Manager that has a trusted relationship with this Registration Manager will then issue a new certificate according to the policies set. Note, the Certificate Manager must also be set up to allow for renewal of certificates and the policies set for renewed certificates in the Certificate Manager will also be evaluated when the request is processed.
An end-entity can submit a certificate revocation request in the end-entity interface. They might do this if they lose their private key, or if their certificate has been otherwise compromised. When an end-entity requests a revocation, the request is sent to the agent services interface for agent approval.
An agent can also revoke a certificate. They might do this if someone leaves the company.
When the certificate is revoked, it is marked revoked in the internal database, and is marked revoked in the publishing system. The certificate is also added to the Certificate Revocation List (CRL) produced by the Certificate Manager. See Chapter 15 "Revocation and CRLs" for complete details.
The Data Recovery Manager is an optional subsystem of CMS that can act as a Key Recovery Authority. When configured in conjuncture with a Certificate Manager or Registration Manager, the Data Recover Manager stores private encryption keys as part of the certificate enrollment process. The key archival mechanism is triggered when a user enrolls in the PKI and creates the certificate request. Using the CRMF request format, the request generates a request for the users private encryption key. The key is then stored in the Data Recovery Manager. The Data Recovery Manager is configured to store keys in an encrypted format that can only be decrypted by several agents requesting the key at one time, providing for protection of the public encryption keys for the users in your deployment.
Note that the Data Recovery Manager archives encryption keys. It does not archive signing keys, since such archival would undermine nonrepudiation properties of signing keys.
If you have set up a Data Recovery Manager as part of your PKI, the private encryption key for an end-entity is requested and stored when the enrollment request is made.
If you have set up a Data Recovery Manager up as part of your PKI, you can retrieve the private encryption keys of your users to decrypt messages or other documents that have been encrypted with the private encryption key. CMS provides a key retrieval system that can only be activated by several agents approving the key retrieval at the same time to offer maximum security of the stored keys.
See Chapter 6 "Data Recovery Manager" for complete details.
Online Certificate Status Manager
The Online Certificate Status Manager is an optional subsystem of CMS that can act as a stand-alone OCSP service. The Certificate Manager is configured with an internal OCSP service. An external OCSP Responder is offered as a separate subsystem in case you want the OCSP service provided outside a firewall while the Certificate Manager resides inside a firewall, or to take the load of requests off the Certificate Manager.
The Online Certificate Status Manager performs the task of an online certificate validation authority, by enabling OCSP-compliant clients to do real-time verification of certificates. Note that an online certificate-validation authority is often referred to as an OCSP responder. The Online Certificate Status Manager can receive CRLs from multiple Certificate Managers and clients can query the Online Certificate Status Manager for the revocation status of certificates issued by all these Certificate Managers.
When an OCSP Responder is set up with a Certificate Manager, and publishing is set up to the OCSP responder, CRLs are published to it when they are issued or updated.
Some deployments may require only a single Certificate Manager that handles all end-entity interactions and provides no key archival and recovery capabilities. This Certificate Manager can use a signing certificate issued by a public certificate authority or its own self-signed CA signing certificate to sign all the certificates it issues.
Figure 1-1 Single root Certificate Manager
![]()
Figure 1-1 shows the relationships among a single Certificate Manager, end entities, and a publishing directory. The Certificate Manager can publish both end-entity certificates and CRLs to a directory.
Certificate Manager and Registration Manager
Figure 1-2 shows a Registration Manager and its Certificate Manager in separate instances on separate machines. All communication between the Certificate Manager and the Registration Manager takes place over HTTPS.
Figure 1-2 Certificate Manager and Registration Manager in different instances
![]()
Many organizations need to separate the role of the Registration Manager from the role of the Certificate Manager. This separation can be useful, for example, if different groups of end entities are subject to different authentication policies or work in different geographic locations.
Each group of end entities interacts with a designated Registration Manager that processes requests from end entities and sends them to a Certificate Manager. The Certificate Manager can accept requests from both end entities and Registration Managers. For example, end entities at the home office might deal directly with the Certificate Manager, while end entities at a branch office might deal with their own Registration Manager. Alternatively, the Certificate Manager might be configured to accept requests only from Registration Managers, thus shielding the CA from end entities.
A Registration Manager can be installed in one CMS instance and its related Certificate Manager in another CMS instance. The separate instances can be located in the same server group, in different server groups on the same machine, or in different server groups on different machines.
In many organizations, it may be desirable to deploy multiple Registration Managers that all communicate with a single Certificate Manager. Each separate Registration Manager, for example, might handle all end-entity interactions in a particular geographic area or within an organizational group.
Decisions about the number of, locations of, and relationships among Certificate Managers and Registration Managers depend on many factors. These include firewall considerations, the physical security required for each subsystem, the physical location of the end entities that the Registration Manager is intended to serve, and the physical location of the Certificate Manager agent, Registration Manager agent, and other persons responsible for administering the Certificate Manager and Registration Manager.
Certificate Manager and Data Recovery Manager
If an organization requires key archival and recovery capabilitiesfor example, if encrypted mail is widely used and the organization risks data loss if it is unable to recover encryption keysit can install a Data Recovery Manager. This can be done without regard for the presence or absence of a separate Registration Manager.
For example, to add key storage and recovery to the scenario sketched in Figure 1-2, a Data Recovery Manager can be installed in a different CMS instance; this instance can be located in the same server group on the same machine, in a different server group on the same machine, or on a different machine. Figure 1-3 illustrates a Data Recovery Manager in a separate CMS instance. All communication between the Certificate Manager and the Data Recovery Manager takes place over HTTPS.
Figure 1-3 Certificate Manager and Data Recovery Manager in different instances
![]()
The Data Recovery Manager is intended for archival and recovery of private encryption keys only. Therefore end entities must be using either a browser that supports dual-key generation or a browser that is using Netscape Personal Security Manager, which supports dual keys. When determining the location of a Data Recovery Manager, be sure to look into firewall considerations, the physical security required for each subsystem, and the physical location of the Certificate Manager agent, Data Recovery Manager agent, and other persons responsible for administering the Certificate Manager and recovering keys.
Like a Certificate Manager, a Data Recovery Manager has special physical security requirements, since a compromised Data Recovery Manager would have devastating security consequences for your entire PKI. You may therefore want to keep the Data Recovery Manager in a special locked room or building, a choice that can affect your deployment strategy.
Certificate Manager, Data Recovery Manager, and Registration Manager
The three CMS subsystems can be deployed in many different relationships. Figure 1-4 illustrates some of the issues involved in deploying all three subsystems by showing the relationships among a single Certificate Manager, a single Registration Manager, and a single Data Recovery Manager, each installed in a different CMS instance on a different machine.
Figure 1-4 Certificate Manager, Registration Manager, and Data Recovery Manager in separate instances
![]()
The Registration Manager handles all end-entity interactions and communicates with the Certificate Manager and the Data Recovery Manager over HTTPS. The Registration Manager is configured to request the end entity's private encryption key (in encrypted form) and send it to the Data Recovery Manager during the enrollment process. Before the Registration Manager sends the certificate request to the Certificate Manager for processing, the Registration Manager must receive verification from the Data Recovery Manager that the private key has been received and stored and that it corresponds to the end entity's public key.
Only the Certificate Manager can be configured to enable or disable LDAP publishing or to publish to separate directories. The Certificate Manager also has the complete record of issued certificates, so that it can perform the publishing tasks, as shown in the figure.
Many other combinations are possible. For example, there might be multiple Registration Managers in different instances, all dealing with the same Data Recovery Manager and Certificate Manager; or the Certificate Manager might also handle some end-entity interactions. It's also possible to set up both Certificate Managers and Registration Managers such that each has a hierarchy of subordinate managers.
A cloned Certificate Manager is a CMS server instance that uses the same CA signing key and certificate as another Certificate Manager, identified as the master Certificate Manager. Each Certificate Manager issues certificates with serial numbers in a restricted range so that all of the servers together act as a single Certificate Authority (operating in several server processes).
The advantage of cloning is the ability to distribute the Certificate Manager's load across several processes or even several physical machines. For a CA that has high enrollment demand, the distribution gained from cloning allows more certificates to be signed and issued in a given time interval.
To create a cloned Certificate Manager, you must first install and configure at least one Certificate Manager and specify a definite upper, but no lower bound for the serial numbers it will use. You then install or create a new instance of a Certificate Manager (but do not configure it). Before configuring the clone, you copy the CMS certificate and key database files from the original Certificate Manager to the new Certificate Manager (
<server_root>/aliasdirectory). If these databases are present, the Configuration Wizard will recognize that you are creating a clone and confirm that you want to reuse the CA's signing key and certificate (if the clone is on the same server, you can also reuse the SSL server certificate).If you store the CA key material on a hardware token, you will have to follow the hardware vendor's instructions for copying the key material to a hardware device accessible to the clone.
A cloned Certificate Manager will have all the same features, for example, agent gateway functions and end entity gateway functions, that a normal Certificate Manager has. You can then configure Registration Managers that point to different Certificate Manager servers but that appear to be serviced by the same CA.
This section describes the architecture of CMS. Figure 1-5 shows a graphical representation of that architecture.
The CMS component is the main component in the CMS product. CMS is a set of pure Java classes. This component provides a secure application platform where subsystems (CA, RA, DRM, and OCSP) can be tightly integrated with a PKI infrastructure. Depending on the installation configuration selection, CMS can be easily installed as a CA, RA, DRM, or OCSP Responder, where subsystem-specific HTTP servlets are registered at startup to provide subsystem-specific services.
Within the CMS component, a set of common modules (all can be extended with customized JAVA plug-ins) are provided for all subsystems (although some may not be utilized by default setting, they are all available for further customization):
- Authentication where authentication managers can be extended.
![]()
- Authorization where authorization managers can be extendedthe default is access control list from the Internal LDAP database.
![]()
- ACL evaluators where expression evaluators can be extended for Access Control List evaluationthe default user/group evaluators.
![]()
- Certificate Profiles where certificate extensions and constraints can be extended.
![]()
- Job scheduler where cronical scheduled events can be extended.
![]()
- Email notification where email notification can be extended.
![]()
- Event listeners where event listeners can be extended.
![]()
- Publishing where publisher and its mapper can be extended.
![]()
- Logging includes signed audit logs; where logging mechanism can be extended.
![]()
- Self-test where CMS start-up/on-demand self-tests can be extended.
![]()
- Servlets depending on subsystem installation selection; where servlets can be extended.
![]()
- Password quality checker where password strength/quality checker can be extended.
![]()
CMS employs the Netscape Enterprise Server as its HTTP engine. It provides the entry point for users/applications of all types to access CMS's functions. As discussed in the System Overview, CMS provides three types of entry points, each serving one or more interfaces:
- End-Entity Entry Point provides entry point for end-entity and server certificate enrollments of all types. A set of customizable HTML forms are provided at this port for CA and RA end-entity users for different types of enrollment, renewal, revocation, or certificate pick-up activities. OCSP responder only takes OCSP request format, while a DRM does not provide any end-entity services. The client applications used to access this entry point must have the capability to act as an SSL client. A common client application is a browser such as the Netscape browser.
![]()
- Agent Entry Pointprovides entry point for agent interface and inter-CIMC_Boundary interface. A set of customizable HTML forms are provided at this port for CA, RA, and DRM agent users to perform agent tasks. The client applications used to access this entry point must have the capability to act as an SSL client. A common client application is a browser such as the Netscape browser.
![]()
- Administrators Entry Pointprovides entry point for administration configuration interface, and for auditor's audit log viewing. The client applications used to access this entry point must have the capability to act as an SSL client. A common client application is bundled with the CMS product is Netscape Console, a java application that provides a GUI interface and understands the protocol provided by the CMS Administration Interface.
![]()
Each of the subsystems contains interfaces allowing interaction with various portions of the subsystem. All four subsystems share a common administrative interface. All four subsystems have an agent interface that allows for agents to perform the tasks assigned to them. A CA Subsystem and an RA Subsystem have an end-entity services interface allowing end entities to enroll in the PKI. An OCSP responder subsystem has an end-entity services interface allowing end entities and applications to check for current certificate revocation status
While the HTTP Engine provides the connection entry points, CMS completes the interfaces by providing the servlets specific to each interface.
For the CA subsystem and RA subsystem, the end-entity interface provide JAVA servlets to process HTML form submissions coming from the end-entity entry point. Based on the information received from the form submissions, the end-entity servlets allow end entities to enroll, renew certificates, revoke their own certificates, and pick up issued certificates. The OCSP responder subsystem's end-entity interface provides JAVA servlets to accept and process OCSP requests. The DRM subsystem does not offer any end-entity service.
The agent services interface provides JAVA servlets to process HTML form submissions coming from the agent entry-point. Based on the information given in each form submission, the agent servlets allow agents to perform agent tasks, such as editing and approving requests for certificate approval, certificate renewal, and certificate revocation, and approving certificate profiles. The agent services interface is almost identical for a CA Subsystem and a RA subsystem. The agent services interfaces for a DRM subsystem or an OCSP Responder are specific to the subsystems.
The agent services interface is also used for inter-CIMC_Boundary communication for RA-to-CA and CA-to-DRM trusted connection. These connections are protected by SSL client-authentication, and differentiated by separate trusted roles called Trusted Managers. Like the agent role, the Trusted Managers (pseudo-users created for inter-CIMC_Boundary connection only) are required to be SSL client-authenticated, however, unlike the agent role, they are not offered any agent capability.
The administrative interface provides JAVA servlets to process commands coming from the administrative entry-point. Based on the information given at each command, the administration servlets allow administrators to perform administrative tasks and configure plug-in modules and instances of plug-in modules. This interface is similar for all four subsystem. It contains some common configuration types, but also contains different plug-in types that can be configured depending on the kind of subsystem configured. The auditor shares the same interface with the administrator, with the restriction to view all configurations and logs (including audit logs); while administrators are restricted from viewing the audit logs. During setup, the administrator will be directed to configure this interface to accept only SSL client authentication
Java Security Services (JSS) provides a Java interface for security operations performed by NSS. JSS and higher levels of the CMS architecture are built with the Java Native Interface (JNI), which provides binary compatibility across different versions of the Java Virtual Machine (JVM). This design allows customized subsystem services to be compiled and built just once and run on a range of platforms. JSS supports most of the security standards and encryption technologies supported by NSS. JSS also provides a pure Java interface for ASN.1 types and BER-DER encoding. JSS documentation can be found on-line at:
http://www.mozilla.org/projects/security/pki/j/docs/manuals/cert-system/index.htmllNetwork Security Services (NSS) is a set of libraries designed to support cross-platform development of security-enabled communications applications. Applications built with the NSS libraries support the SSL protocol for authentication, tamper detection, and encryption as well as the PKCS #11 interface for cryptographic token interfaces. Netscape uses NSS to support these features in a wide range of products, including CMS. NSS documentation can be found on-line at:
http://www.mozilla.org/projects/security/pki/nss/overview.htmlPublic-Key Cryptography Standard (PKCS) #11 specifies an API used to communicate with devices that hold cryptographic information and perform cryptographic operations. Because it supports PKCS #11, CMS works with a wide range of hardware and software devices intended for such purposes.
One or more PKCS #11 modules must be available to any CMS subsystem instance. As shown in the figure, a PKCS #11 module (also called a cryptographic module or cryptographic service provider) manages cryptographic services such as encryption and decryption via the PKCS #11 interface. PKCS #11 modules can be thought of as drivers for cryptographic devices that can be implemented in either hardware or software. Netscape provides a built-in PKCS #11 module with CMS.
A PKCS #11 module always has one or more slots, which can be implemented as physical hardware slots in some form of physical reader (for example, for smart cards) or as conceptual slots in software. Each slot for a PKCS #11 module can in turn contain a token, which is the hardware or software device that actually provides cryptographic services and optionally stores certificates and keys.
Netscape provides two built-in modules with CMS:
- Default Netscape Internal PKCS #11 Module. This comes with two built-in tokens:
![]()
- The Internal Crypto Services token performs all cryptographic operations, such as encryption, decryption, and hashing.
![]()
- The Internal Key Storage token ("Certificate DB token" in Figure 1-5) handles all communication with the certificate and key database files (called certX.db and keyX.db, respectively, where X is a version number) that store certificates and keys.
![]()
- FIPS 140-1 module. This module complies with the FIPS 140-1 government standard for implementations of cryptographic modules. Many products sold to the US government must comply with one or more of the FIPS standards. The FIPS 140-1 module includes a single, built-in FIPS 140-1 Certificate DB token (as shown in Figure 1-5), which handles both cryptographic operations and communication with the certX.db and keyX.db files.
![]()
Any PKCS #11 module can be used with CMS. The server uses a file called secmod.db to keep track of the modules that are available. You can modify this file using the
modutiltool, which is explained in the following documentation:
http://www.mozilla.org/projects/security/pki/nss/tools/For example, you need to modify secmod.db if you are installing hardware accelerators for use in signing operations.
Command line tools are provided by CMS for occasional management of the CMS system:
- backup/restore tool
![]()
- password cache tool
![]()
- audit log signature verification tool
![]()
- enrollment pin generation tool
![]()
- mass revocation tool
![]()
- (signed) CMS request tool
![]()
- bulk certificate issuance tool
![]()
JRE (Java Runtime Environment) provides the Java Virtual Machine (JVM) and supporting class libraries needed to run CMS.
CMS employs Netscape Directory Server as its internal database for storing information such as certificates, requests, users, roles, ACLs, as well as other miscellaneous internal information. CMS communicates with the internal LDAP database securely by means of SSL client authentication.
The Netscape Administration Server comes with all Netscape server products, including CMS. Together with the Netscape Console and the configuration LDAP database (another instance of Netscape Directory Server), it is used for managing Netscape software and users in an enterprise environment. The configuration LDAP database stores server and application configuration settings as well as user information. This data is used by other servers in the enterprise. Typically, application and server configuration information is stored in one subtree of the configuration LDAP database while user and group entries are stored in another subtree. Except for the creation of a new CMS instances, functionalities provided by this component are not fully utilized by CMS. Note that although this configuration LDAP database can be used to store Enterprise user records, or configured as a certificate publishing destination, or configured to provide directory-based enrollment authentication mechanism, it is separate from the CMS Internal LDAP database, and unlike the CMS Internal LDAP database, it is not considered as part of the core CMS system.
The CMS Software Development Kit (SDK) includes information that is useful for developing new plug-in modules and for customizing various aspects of CMS.
The CMS SDK contains the following:
- Javadocscomplete javadoc specification of the CMS Application Programming Interface (API).
![]()
- Samplessample source code of various plug-in modules that are included in CMS. This source code has been included for reference purposes only, and is only used to demonstrate how a particular CMS feature was implemented. Since a sample represents the actual code currently present in CMS, it does not require it to be recompiled.
![]()
- Tutorials"How To" tutorial to help demonstrate how you can create your own plug-in modules for CMS. Each tutorial includes sample Java source code, environment and build script and a detailed "cookbook" describing how to build and install these plug-in modules. Additionally, some tutorials may also contain sample configuration files.
![]()
This section summarizes the standard message formats and protocols supported by CMS.
Certificate Management Formats and Protocols
CMS supports the following certificate management formats and protocols. For more details about the proposed PKIX standards listed here, see
http://www.ietf.org/html.charters/pkix-charter.html(under Internet Drafts).
- Simple Certificate Enrollment Protocol (SCEP). A certificate management protocol jointly developed by Cisco Systems and VeriSign, Inc. CEP is an early implementation of CMC (described later in this list). CEP specifies how a device communicates with a CA, including how to retrieve the CA's public key, how to enroll a device with the CA, and how to retrieve a CRL. CEP uses PKCS #7 and PKCS #10.
![]()
- Certificate Request Message Format (CRMF). A message format used to convey a request for a certificate to a Registration Manager or Certificate Manager. A standard from the Internet Engineering Task Force (IETF) PKIX working group.
![]()
- Certificate Management Message Formats (CMMF). Message formats used to convey certificate requests and revocation requests from end entities to a Registration Manager or Certificate Manager and to send a variety of information to end entities. A proposed standard from the IETF PKIX working group. CMMF is subsumed by another proposed standard, CMC (next item).
![]()
- Certificate Management Messages over CMS (CMC). A general interface to public-key certification products based on CMS and PKCS #10, including a certificate enrollment protocol for DSA-signed certificates with Diffie-Hellman public keys. A standard from the IETF PKIX working group. CMC incorporates CRMF and CMMF.
![]()
- Cryptographic Message Syntax (CMS). A superset of PKCS #7 syntax used for digital signatures and encryption. A proposed standard from the IETF PKIX working group.
![]()
- PKIX Certificate and CRL Profile (PKIX Part 1). The first part of the four-part standard under development by the IETF for a public-key infrastructure for the Internet. Part 1 deals with specifications for certificates and CRLs. CMS will support the other PKIX parts as they are finalized. For more information about PKIX Part 1, see ftp://ftp.isi.edu/in-notes/rfc2459.txt.
![]()
Security and Directory Protocols
CMS supports the following security and directory protocols:
- FIPS PUBS 140-1. Federal Information Standards Publications (FIPS PUBS) 140-1 is a US government standard for implementations of cryptographic modulesthat is, hardware or software that encrypts and decrypts data or performs other cryptographic operations (such as creating or verifying digital signatures).
![]()
- Hypertext Transport Protocol (HTTP) and Hypertext Transport Protocol Secure (HTTPS). Protocols used to communicate with web servers.
![]()
- KEYGEN tag. An HTML tag supported by Netscape browsers that generates a key pair for use with a certificate. For more information, see
http://www.netscape.com/eng/security/comm4-keygen.html.![]()
- Lightweight Directory Access Protocol (LDAP) v2, v3. A directory service protocol designed to run over TCP/IP and across multiple platforms. LDAP is a simplified version of Directory Access Protocol (DAP), used to access X.500 directories. LDAP is under IETF change control and has evolved to meet Internet requirements.
![]()
- Public-Key Cryptography Standard (PKCS) #7. An encrypted data and message format developed by RSA Data Security to represent digital signatures, certificate chains, and encrypted data. This format is used to deliver certificates to end entities.
![]()
- Public-Key Cryptography Standard (PKCS) #10. A message format developed by RSA Data Security for certificate requests. This format is supported by many server products and by Microsoft Internet Explorer.
![]()
- Public-Key Cryptography Standard (PKCS) #11. Specifies an API used to communicate with devices such as hardware tokens that hold cryptographic information and perform cryptographic operations.
![]()
- X.509 v1, v3. Digital certificate formats recommended by the International Telecommunications Union (ITU).
![]()
- Secure Sockets Layer (SSL) 2.0, 3.0. A set of rules governing server authentication, client authentication, and encrypted communication between servers and clients.
![]()
© 2001 Sun Microsystems, Inc. Portions copyright 1999, 2002-2004 Netscape Communications Corporation. All rights reserved.
Last Updated November 23, 2004