]> granicus.if.org Git - apache/commitdiff
Clarify the mod_ldap documentation to better explain handling of certificates
authorGraham Leggett <minfrin@apache.org>
Thu, 20 Jan 2005 23:34:35 +0000 (23:34 +0000)
committerGraham Leggett <minfrin@apache.org>
Thu, 20 Jan 2005 23:34:35 +0000 (23:34 +0000)
between different LDAP toolkits.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@125860 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/mod/mod_ldap.xml

index be413596d4871558b98976241c9939f3035a830b..21db7b0e058c70d5f83a7ad73d2092f8655de016 100644 (file)
@@ -240,8 +240,11 @@ by other LDAP modules</description>
 <section id="settingcerts"><title>SSL/TLS Certificates</title>
 
     <p>The different LDAP SDKs have widely different methods of setting
-    and handling both CA and client side certificates. Some of the
-    differences are described below:</p>
+    and handling both CA and client side certificates.<p>
+
+    <p>If you intend to use SSL or TLS, read this section CAREFULLY so as to
+    understand the differences between configurations on the different LDAP
+    toolkits supported.</p>
 
     <section id="settingcerts-netscape"><title>Netscape/Mozilla/iPlanet SDK</title>
         <p>CA certificates are specified within a file called cert7.db.
@@ -250,13 +253,14 @@ by other LDAP modules</description>
         client certificates are required, an optional key3.db file may
         be specified with an optional password. The secmod file can be
         specified if required. These files are in the same format as
-        used by Netscape Communicator / Mozilla web browser. The easiest
-        way to obtain these files is to grab them from a browser
+        used by the Netscape Communicator or Mozilla web browsers. The easiest
+        way to obtain these files is to grab them from your browser
         installation.</p>
 
-        <p>Client certificates are specified per connection by referring
-        to the certificate "nickname", and an optional password may be
-        specified.</p>
+        <p>Client certificates are specified per connection using the
+        LDAPTrustedClientCert directive by referring
+        to the certificate "nickname". An optional password may be
+        specified to unlock the certificate's private key.</p>
 
         <p>The SDK supports SSL only. An attempt to use STARTTLS will cause
         an error when an attempt is made to contact the LDAP server at
@@ -292,10 +296,10 @@ by other LDAP modules</description>
         SDK to work correctly. These certificates can be specified as
         binary DER or Base64 (PEM) encoded files.</p>
 
-        <p>Client certificates are specified globally rather than per
-        connection, and so must be specified with the global certificate
-        option as below. Trying to set client certificates via the
-        LDAPTrustedClientCert option will cause an error to be thrown
+        <p>Note: Client certificates are specified globally rather than per
+        connection, and so must be specified with the LDAPTrustedGlobalCert
+        directive as below. Trying to set client certificates via the
+        LDAPTrustedClientCert directive will cause an error to be thrown
         when httpd starts up.</p>
 
         <p>The SDK supports both SSL and STARTTLS, set using the
@@ -309,6 +313,8 @@ by other LDAP modules</description>
              # Specify a client certificate file and key<br />
              LDAPTrustedGlobalCert CERT_BASE64 /certs/cert1.pem<br />
              LDAPTrustedGlobalCert KEY_BASE64 /certs/key1.pem [password]<br />
+             # Do not use this directive, as it will throw an error<br />
+             #LDAPTrustedClientCert CERT_BASE64 /certs/cert1.pem<br />
         </example>
 
     </section>
@@ -369,6 +375,9 @@ by other LDAP modules</description>
         <p>Both SSL and TLS are supported by using the ldaps:// URL
         format, or by using the LDAPTrustedMode directive accordingly.</p>
 
+        <p>Note: The status of support for client certificates is not yet known
+        for this toolkit.</p>
+
     </section>
 
 </section>
@@ -467,9 +476,17 @@ Certificate Authority or global client certificates</description>
 
 <usage>
     <p>It specifies the directory path and file name of the trusted CA
-    certificates and/or client certificates <module>mod_ldap</module>
+    certificates and/or system wide client certificates <module>mod_ldap</module>
     should use when establishing an SSL or TLS connection to an LDAP
-    server. The type specifies the kind of certificate parameter being
+    server. Note that all certificate information specified using this directive
+    is applied globally to the entire server installation. Some LDAP toolkits
+    (notably Novell) require all client certificates to be set globally using
+    this directive. Most other toolkits require clients certificates to be set
+    per Directory or per Location using LDAPTrustedClientCert. If you get this
+    wrong, an error may be logged when an attempt is made to contact the LDAP
+    server, or the connection may silently fail (See the SSL/TLS certificate
+    guide above for details).
+    The type specifies the kind of certificate parameter being
     set, depending on the LDAP toolkit being used. Supported types are:</p>
     <ul>
       <li>CA_DER - binary DER encoded CA certificate</li>
@@ -500,8 +517,13 @@ connection client certificates.</description>
 <usage>
     <p>It specifies the directory path, file name or nickname of a
     per connection client certificate used when establishing an SSL
-    or TLS connection to an LDAP server. Not all LDAP toolkits support
-    per connection client certificates (See the toolkit guide for details).
+    or TLS connection to an LDAP server. Different locations or
+    directories may have their own independant client certificate
+    settings. Some LDAP toolkits (notably Novell)
+    do not support per connection client certificates, and will throw an
+    error on LDAP server connection if you try to use this directive
+    (Use the LDAPTrustedGlobalCert directive instead for Novell client
+    certificates - See the SSL/TLS certificate guide above for details).
     The type specifies the kind of certificate parameter being
     set, depending on the LDAP toolkit being used. Supported types are:</p>
     <ul>