SUSE Linux源码安装OpenLDAP(二)

 

一、创建证书

      在OpenLDAP服务中开启SSL/TLS连接需要一个服务器证书。有两种方法创建和安装服务器证书。

1.1、自签名证书

      第一种创建服务器证书的方式是利用openssl创建一个自签名的服务器证书:命令,openssl req -newkey rsa:1024 -x509 -nodes -out server.pem -keyout server.pem -days 365如图:

1

      OpenLDAP只工作在非加密的keys下,-nodes参数阻止加密私钥,Common Name请输入服务器完整主机名。

      下一步就是在OpenLDAP中配置server.pem。私钥包含在证书里面,将会被发送到所有的OpenLDAP客户端。服务器配置如图:

2

      切换到/opt/OpenLDAP/libexec下使用./slapd  -h "ldap:/// ldaps:///" -d -1命令启动服务器,使用openssl s_client -connect localhost:636 -showcerts命令查看证书:

3

      完成,结果中的error实际上不是错误,创建自签名的证书只需要修改slapd.conf。另一种创建证书的方式是常见CA发行的证书,强烈建议使用CA发行证书代替自签名证书。

1.2、CA发行的证书

      1.2.1、创建CA

            执行CA.pl -newca创建一个CA:/opt/openssl/ssl/misc/CA.pl –newca

4

      注意图中红色让部分,密码和Common Name,以上命令会创建demoCA/cacert.pem和demoCA/private/cakey.pem。(CA cert和CA private key)。

      1.2.2、创建一个服务器证书的签署请求(server certificate signing request:CSR)

            执行命令:openssl req -newkey rsa:1024 -nodes -keyout newreq.pem -out newreq.pem

5

      结果会生成一个newreq.pem的文件。

      1.2.3、让CA签署CSR

            执行:/opt/openssl/ssl/misc/CA.pl –sign

6

      这将使用private key和newreq.pem生成newcert.pem。

      1.2.4、配置slapd.conf

7

      1.2.5、创建客户端证书

            客户端证书和服务器端证书基本一样,注意Common就行。

1.3、nginx+php访问OpenLDAP

      nginx配置:将生成的客户端的client.pem改名为client.key配置如下:

8

      配置完成重启nginx。

      新建php文件:testopenldap.php

testopenldap.php

 

      结果如图:

9 

1.4、完成的slapd.conf

slapd.conf


 

你可能感兴趣的:(openLdap)