[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: Using NSS
Yes: Specify your cacert file in openldap's ldap.conf file (NOT PADL's in /etc/): typically /etc/openldap/ldap.conf or perhaps /usr/local/openldap/etc/openldap/ldap.conf.
If the cert is signed by a real CA then your system's cacert bundle needs updating.
If not, then I recommend you setup your own internal CA - it doesn't need to always be running nor even have network connectivity.
And use openssl vs mozilla's ssl - my understanding is that it doesn't quite work right; especially when building openldap.
- chris
----- Original Message -----
From: openldap-technical-bounces@OpenLDAP.org <openldap-technical-bounces@OpenLDAP.org>
To: richm@stanfordalumni.org <richm@stanfordalumni.org>
Cc: openldap-technical@openldap.org <openldap-technical@openldap.org>
Sent: Sun Feb 05 03:56:18 2012
Subject: Re: Using NSS
[My, it's been a while. I got pulled away from this and it's been a
busy few months. Now I'm beating my head against it some more.]
I backed up and started over with this. Here is the state of things:
# certutil -d /etc/pki/nssdb -L
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
LDAP-Server-Cert u,u,u
CA certificate CTu,u,u
# certutil -d /etc/pki/nssdb -L -n 'CA certificate'
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 1000 (0x3e8)
Signature Algorithm: PKCS #1 SHA-1 With RSA Encryption
Issuer: "CN=Endoframe CA cert,DC=endoframe,DC=net"
Validity:
Not Before: Tue Jan 17 07:48:20 2012
Not After : Mon Jan 17 07:48:20 2022
Subject: "CN=Endoframe CA cert,DC=endoframe,DC=net"
Subject Public Key Info:
Public Key Algorithm: PKCS #1 RSA Encryption
RSA Public Key:
[snip]
Signed Extensions:
Name: Certificate Basic Constraints
Critical: True
Data: Is a CA with no maximum path length.
Signature Algorithm: PKCS #1 SHA-1 With RSA Encryption
Signature:
[snip]
Fingerprint (MD5):
[snip]
Fingerprint (SHA1):
[snip]
Certificate Trust Flags:
SSL Flags:
Valid CA
Trusted CA
User
Trusted Client CA
Email Flags:
User
Object Signing Flags:
User
# certutil -d /etc/pki/nssdb -L -n 'LDAP-Server-Cert'
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 1001 (0x3e9)
Signature Algorithm: PKCS #1 SHA-1 With RSA Encryption
Issuer: "CN=Endoframe CA cert,DC=endoframe,DC=net"
Validity:
Not Before: Thu Jan 19 06:13:01 2012
Not After : Wed Jan 19 06:13:01 2022
Subject: "CN=ldap.endoframe.net"
Subject Public Key Info:
Public Key Algorithm: PKCS #1 RSA Encryption
RSA Public Key:
[snip]
Signature Algorithm: PKCS #1 SHA-1 With RSA Encryption
Signature:
[snip]
Fingerprint (MD5):
[snip]
Fingerprint (SHA1):
[snip]
Certificate Trust Flags:
SSL Flags:
User
Email Flags:
User
Object Signing Flags:
User
Given the above, I generate the cert for the client:
# certutil -d /etc/pki/nssdb -L -n LDAP-Server-Cert -a > /etc/openldap/cacerts/ldap-server-cert.pem
In cn=config.ldif, I have:
olcTLSCACertificatePath: /etc/pki/nssdb
olcTLSCertificateFile: LDAP-Server-Cert
In ldap.conf, I have:
TLS_CACERT /etc/openldap/cacerts/ldap-server-cert.pem
Finally, when I run ldapsearch, I get this error:
# ldapsearch -H ldaps://ldap.endoframe.net -b dc=endoframe,dc=net -x -d1
ldap_url_parse_ext(ldaps://ldap.endoframe.net)
ldap_create
ldap_url_parse_ext(ldaps://ldap.endoframe.net:636/??base)
ldap_sasl_bind
ldap_send_initial_request
ldap_new_connection 1 1 0
ldap_int_open_connection
ldap_connect_to_host: TCP ldap.endoframe.net:636
ldap_new_socket: 3
ldap_prepare_socket: 3
ldap_connect_to_host: Trying 10.0.0.21:636
ldap_pvt_connect: fd: 3 tm: -1 async: 0
TLS: loaded CA certificate file /etc/openldap/cacerts/ldap-server-cert.pem.
TLS: certificate [CN=Endoframe CA cert,DC=endoframe,DC=net] is not valid - error -8172:Peer's certificate issuer has been marked as not trusted by the user..
TLS: error: connect - force handshake failure: errno 21 - moznss error -8172
TLS: can't connect: TLS error -8172:Peer's certificate issuer has been marked as not trusted by the user..
ldap_err2string
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)
Is there something I need to do to mark the issuer as trusted on the
client? (The client and server are actually the same machine in this
case, FWIW.)
Braden
This message is private and confidential. If you have received it in error, please notify the sender and remove it from your system.