OpenLdap配置ssl连接

编程技术  /  houtizong 发布于 3年前   52
为了敏感数据(如账户信息等)在传输过程中不轻易暴露,用SSL连接是必须的。在安装完openldap后,可以首先生成一些key和certificate文件,然后配置ldap的SSL服务端。

工具:Linux平台下的openssl - 用于生成SSL需要的签名验证
     Winscp - 用于Windows访问在Linux里生成好的的文件

1. 生成证书和签名

a. 产生证书文件
   打开Linux terminal, 新建一个文件夹名为CA及子目录[mkdir]:[
   certs
   newcerts
   private
   crl
以及文件[touch]:
   index.txt
   serial,打开serial,在里面写入01

   这是CA操作需要的文件夹,相当于一个CA系统。
  
   切换到certs目录
   随着计算机性能的不断提高,破译1024位RSA的私钥已有可能。所以这里提高到2048位:
   i. 生成key的同时自签名
  
   openssl req -new -x509 -newkey rsa:2048 -keyout ca.key -out ca.crt -days 7305   


    或者:
   ii. 先生成key,然后再签名
  
   # 生成根证书所用的密钥   openssl genrsa -des3 -out ca.key 2048   # 去除CA密钥的口令   openssl rsa -in ca.key -out ca.key   # 生成CA即ROOT CA证书并自签   openssl req -new -x509 -key ca.key -out ca.crt -days 7305   


b. 生成服务端和客户端的私钥(private key)
  
   openssl genrsa -des3 -out server.key 2048   openssl genrsa -des3 -out client.key 2048   


   运行时会提示输入密码,此密码用于加密key文件(参数des3便是指加密算法,当然也可以选用其他你认为安全的算法.),以后每当需读取此文件(通过openssl提供的命令或Api)都需输入口令。如果是Windows开启OpenLdap服务,最好是执行下面的命令,否则系统会一直等待用户输入口令。

去除key文件口令的命令:
  
   openssl rsa -in server.key -out server.key   openssl rsa -in client.key -out client.key   


c. 生成服务端和客户端的证书签名申请(CSR - Certificate Signing Request)

   从名字可以看出,CSR只是在申请过程中使用到。
   这里输入的省,市,公司名称,部门名称,域名必须和CA的一致
  
   openssl req -new -key server.key -out server.csr   openssl req -new -key client.key -out client.csr   


d. 用生成的CA证书为服务端和客户端的CSR签名:

   这里可以指定证书的有效天数
  
   openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -days 7305   openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -days 7305   


   还可以生成jks格式的证书文件:
  
   openssl x509 -req -in gorgeous.csr -out gorgeous.crt -CA ca.crt -CAkey ca.key -days 2920 -CAcreateserial -sha1 -CAserial ca.srl -trustout   

   这里的gorgeous.csr是由keytool生成的证书申请文件。

   client使用的文件有:ca.crt,client.crt,client.key
   server使用的文件有:ca.crt,server.crt,server.key

   如果openldap是部署在Windows系统上,需要使用WinSCP连接Linux系统,并下载生成的这些文件到OpenLDAP的某个文件夹下


2. 部署

在slapd.conf文件中添加SSL配置:

参看 OpenLdap安装与配置

因为我客户端连接没有使用验证,所以TLSVerifyClient设置为never,不然会连接不上


3. 启动LDAP

参看 OpenLdap安装与配置

服务启动后,就会接受SSL连接。

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客