Hi,
  I wrote a patch to add ldap support into modssl. Parhaps it's not the best
method to do this but it's work. Ca Certificate and Crl can be put into a Ldap
tree. For now, i doesn't cache certificate subject when apache server start. So
you need to add attribute to the profil 'certificationAuthority'

objectclass certificationAuthority
        requires
                objectClass,
                cACertificate
        allows
                authorityRevocationList,
                certificateRevocationList,
                crossCertificatePair,
                x509_subject_hash

The value of x509_subject_hash is the result of
 openssl x509 -noout -hash < ca.crt

All attributes name can be changed in the httpd.conf

LdapHost              hostname of the ldap host   [required]
LdapPort              the port number             [optional]
LdapBindDn            dn of the user who have     [optional]
                      access to certificate
LdapBindPw            the password. httpd.conf    [optional]
                      must be non-world readable
LdapBaseDn            root base for the search    [required]
LdapTimeout           max time for a search       [optional]
LdapCACertificateHash ldap attribute name which   [optional]
                      is x509_subject_hash in the
                       example
LdapCACertificate     ldap attribute name which   [optional]
                      is cACertificate in the 
                       example
LdapCARevocation      ldap attribute name which   [optional]
                      is certificateRevocationList
                      in the example

Another example, of a entry into the LDAP tree

dn: uid=ca, dc=elite1
uid: ca
objectclass: certificationAuthority
objectclass: uidobject
x509_subject_hash: b7669510
cacertificate:: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMvakNDQW1lZ0F3SUJBZ
 0lCQURBTkJna3Foa2lHOXcwQkFRUUZBRENCcWpFTE1Ba0dBMVVFQmhNQ1JsSXgKRHpBTkJnTlZCQ
 WdUQmtaeVlXNWpaVEVPTUF3R0ExVUVCeE1GVUdGeWFYTXhFREFPQmdOVkJBb1RCMFpzWlcxcApib
 WN4S0RBbUJnTlZCQXNUSDBObGNuUnBabWxqWVhScGIyNGdVMlZ5ZG1salpYTWdSR2wyYVhOcGIyN
 HhHREFXCkJnTlZCQU1URDBac1pXMXBibWNnVW05dmRDQkRZVEVrTUNJR0NTcUdTSWIzRFFFSkFSW
 VZiSFZqUUdac1pXMXAKYm1jdWRTMXdjM1ZrTG1aeU1CNFhEVEF3TURVd05qQTRNRFUwT0ZvWERUR
 XdNRFV3TkRBNE1EVTBPRm93Z2FveApDekFKQmdOVkJBWVRBa1pTTVE4d0RRWURWUVFJRXdaR2NtR
 nVZMlV4RGpBTUJnTlZCQWNUQlZCaGNtbHpNUkF3CkRnWURWUVFLRXdkR2JHVnRhVzVuTVNnd0pnW
 URWUVFMRXg5RFpYSjBhV1pwWTJGMGFXOXVJRk5sY25acFkyVnoKSUVScGRtbHphVzl1TVJnd0ZnW
 URWUVFERXc5R2JHVnRhVzVuSUZKdmIzUWdRMkV4SkRBaUJna3Foa2lHOXcwQgpDUUVXRld4MVkwQ
 m1iR1Z0YVc1bkxuVXRjSE4xWkM1bWNqQ0JuekFOQmdrcWhraUc5dzBCQVFFRkFBT0JqUUF3CmdZa
 0NnWUVBemFCTCtjSThyNk5rMFNJSzlqNXZFSUJ4L01KYnBKWlMvM2tQVFZoWGx6SHhWUFZidTBWN
 jgyZlAKZmJOZDRmaHczM1V2Q1FZdGdTK2ZDVkpFZUp3ZWdBUTJwQlFZWU82aUJmUGlhV240U3g5b
 jZnTm5HUzNIRzRKdApkY0pZU1l3dVlpYkFhdUxHdk12em5RMk84MjlzR2FYQXVvenlCWTBPaXptW
 kNZU0xlcjBDQXdFQUFhTXlNREF3CkR3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRV
 WZEcmtRWS9lWmlUYmp0b0JNZzF3VCtFUG9WRXcKRFFZSktvWklodmNOQVFFRUJRQURnWUVBTkttR
 mRpT0ZHaG44REJqOW4zTlFBeGhLelkzVjNsVmp1VTZ0VkhnNwpZSHM4dTU0UDBlK3dyTFZOV1Z3M
 lJwdERVWWNXRWhHbUVBR3dJT2lXVHN5UVdiMWprN0dsL3VNRDFzSmxEUjB3CnVRRUVsODZ3elkwa
 0RCYUQ2WkNhOGM1bDQ2ek1YK0tWZUdtOVB1L1ZqckluNGp3ZmNTSm5zS0kwZjVQbG53U1QKWExRP
 QotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi==
certificaterevocationlist:: LS0tLS1CRUdJTiBYNTA5IENSTC0tLS0tCk1JSUJoakNCOERBT
 kJna3Foa2lHOXcwQkFRUUZBRENCcWpFTE1Ba0dBMVVFQmhNQ1JsSXhEekFOQmdOVkJBZ1QKQmtae
 VlXNWpaVEVPTUF3R0ExVUVCeE1GVUdGeWFYTXhFREFPQmdOVkJBb1RCMFpzWlcxcGJtY3hLREFtQ
 mdOVgpCQXNUSDBObGNuUnBabWxqWVhScGIyNGdVMlZ5ZG1salpYTWdSR2wyYVhOcGIyNHhHREFXQ
 mdOVkJBTVREMFpzClpXMXBibWNnVW05dmRDQkRZVEVrTUNJR0NTcUdTSWIzRFFFSkFSWVZiSFZqU
 Udac1pXMXBibWN1ZFMxd2MzVmsKTG1aeUZ3MHdNREExTVRBeE16RTVOREphRncwd01EQTJNRGt4T
 XpFNU5ESmFNQlF3RWdJQkF4Y05NREF3TlRFdwpNVE13T1RNMFdqQU5CZ2txaGtpRzl3MEJBUVFGQ
 UFPQmdRQk9Jd3U3K3hBZ292TXhvZURWRkhpSnRLTDBEcHUwCitLeWhGWFhJNXRFRk5UNzYzVEppd
 0d0N2dXMjRtdzJCSGQrMVNtN3lrTTNXeFRqK0UzbTRJYnVSSnFYMmh0d0kKNWxWcWVaSmpHcGwwQ
 kVKMjBiaEliZmlndnVPZG9xQXVyOGNZeTcyMDlyR3RZY3J1Ny9OMVdFYWtwby83M3ZXaAp4N2ZHU
 3BVU0d2V3Axdz09Ci0tLS0tRU5EIFg1MDkgQ1JMLS0tLS0K

Data is base64 encoded to help import into LDAP. But certificate is PEM encoded
like this.
-----BEGIN CERTIFICATE-----
MIIC/jCCAmegAwIBAgIBADANBgkqhkiG9w0BAQQFADCBqjELMAkGA1UEBhMCRlIx
DzANBgNVBAgTBkZyYW5jZTEOMAwGA1UEBxMFUGFyaXMxEDAOBgNVBAoTB0ZsZW1p
bmcxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xGDAW
BgNVBAMTD0ZsZW1pbmcgUm9vdCBDYTEkMCIGCSqGSIb3DQEJARYVbHVjQGZsZW1p
bmcudS1wc3VkLmZyMB4XDTAwMDUwNjA4MDU0OFoXDTEwMDUwNDA4MDU0OFowgaox
CzAJBgNVBAYTAkZSMQ8wDQYDVQQIEwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAw
DgYDVQQKEwdGbGVtaW5nMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2Vz
IERpdmlzaW9uMRgwFgYDVQQDEw9GbGVtaW5nIFJvb3QgQ2ExJDAiBgkqhkiG9w0B
CQEWFWx1Y0BmbGVtaW5nLnUtcHN1ZC5mcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAw
gYkCgYEAzaBL+cI8r6Nk0SIK9j5vEIBx/MJbpJZS/3kPTVhXlzHxVPVbu0V682fP
fbNd4fhw33UvCQYtgS+fCVJEeJwegAQ2pBQYYO6iBfPiaWn4Sx9n6gNnGS3HG4Jt
dcJYSYwuYibAauLGvMvznQ2O829sGaXAuozyBY0OizmZCYSLer0CAwEAAaMyMDAw
DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUfDrkQY/eZiTbjtoBMg1wT+EPoVEw
DQYJKoZIhvcNAQEEBQADgYEANKmFdiOFGhn8DBj9n3NQAxhKzY3V3lVjuU6tVHg7
YHs8u54P0e+wrLVNWVw2RptDUYcWEhGmEAGwIOiWTsyQWb1jk7Gl/uMD1sJlDR0w
uQEEl86wzY0kDBaD6ZCa8c5l46zMX+KVeGm9Pu/VjrIn4jwfcSJnsKI0f5PlnwST
XLQ=
-----END CERTIFICATE-----
and
-----BEGIN X509 CRL-----
MIIBhjCB8DANBgkqhkiG9w0BAQQFADCBqjELMAkGA1UEBhMCRlIxDzANBgNVBAgT
BkZyYW5jZTEOMAwGA1UEBxMFUGFyaXMxEDAOBgNVBAoTB0ZsZW1pbmcxKDAmBgNV
BAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xGDAWBgNVBAMTD0Zs
ZW1pbmcgUm9vdCBDYTEkMCIGCSqGSIb3DQEJARYVbHVjQGZsZW1pbmcudS1wc3Vk
LmZyFw0wMDA1MTAxMzE5NDJaFw0wMDA2MDkxMzE5NDJaMBQwEgIBAxcNMDAwNTEw
MTMwOTM0WjANBgkqhkiG9w0BAQQFAAOBgQBOIwu7+xAgovMxoeDVFHiJtKL0Dpu0
+KyhFXXI5tEFNT763TJiwGt7gW24mw2BHd+1Sm7ykM3WxTj+E3m4IbuRJqX2htwI
5lVqeZJjGpl0BEJ20bhIbfigvuOdoqAur8cYy7209rGtYcru7/N1WEakpo/73vWh
x7fGSpUSGvWp1w==
-----END X509 CRL-----

I hope this little explanation can help someone but english isn't my primary
langage. 
Note: the patch work for the lastest stable version of modssl 2.4.10-1.3.9.
      I've a also a version the 2.4.10-1.3.9

Luc

-- 
,-----------------------------------------------------------------------------.
>     Saillard Luc       |         Ing�nieur Informatique Libre               <
> [EMAIL PROTECTED] |       Alcove, l'informatique est libre             <
>   (www.alcove.fr)      |                                                    <
`-----------------------------------------------------------------------------'

mod_ssl-ldap.diff.gz

Reply via email to