ldap之tls 双向认证要我命

栏目: Java · 发布时间: 6年前

内容简介:先简单介绍一下问题背景,现公司的ldap不止是ldaps还要验证客户端,也就是说在客户端验证服务端的tls证书的同时,服务端也会要求验证客户端的证书,其实并不复杂,平时单向认证见得多了,只要客户端有服务端的ca证书,当拿到服务端自己的证书的时候,就会用ca证书去验证服务端是不是想连接的服务端,所以只要告诉客户端ca证书在哪里就可以。双向认证其实也不难,就加多了让客户端知道自己的证书和私钥在哪里就可以了。这样当服务端请求客户端的证书的时候,客户端知道自己的证书在哪里并且发给服务端之后能拿自己的私钥来解密服务端

先简单介绍一下问题背景,现公司的ldap不止是ldaps还要验证客户端,也就是说在客户端验证服务端的tls证书的同时,服务端也会要求验证客户端的证书,其实并不复杂,平时单向认证见得多了,只要客户端有服务端的ca证书,当拿到服务端自己的证书的时候,就会用ca证书去验证服务端是不是想连接的服务端,所以只要告诉客户端ca证书在哪里就可以。双向认证其实也不难,就加多了让客户端知道自己的证书和私钥在哪里就可以了。这样当服务端请求客户端的证书的时候,客户端知道自己的证书在哪里并且发给服务端之后能拿自己的私钥来解密服务端发过来的随机码。

  1. ldap 启用 tls:
  • 生成证书和私钥
  • 修改 ldap 指定证书和私钥地址
    dn: cn=config
    changetype: modify
    add: olcTLSCACertificateFile
    olcTLSCACertificateFile: /etc/ldap/sasl2/ca.pem
    -
    replace: olcTLSCertificateFile
    olcTLSCertificateFile: /etc/ldap/sasl2/ldap.pem
    -
    replace: olcTLSCertificateKeyFile
    olcTLSCertificateKeyFile: /etc/ldap/sasl2/ldap-key.pem
  • 要求ldap验证客户端证书
    dn: cn=config
    changetype: modify
    replace: olcTLSVerifyClient
    olcTLSVerifyClient: demand
  1. 客户端配置ca和自己的证书私钥 java 配置truststore和密码,并修改java启动参数

    root@saltjenkins:~# grep -i keystore /etc/default/jenkins 
    JAVA_ARGS="-Djava.awt.headless=true -Djavax.net.ssl.trustStorePassword=changeit -Djavax.net.ssl.trustStore=/var/lib/jenkins/cacerts -Djavax.net.ssl.keyStorePassword=123123 -Djavax.net.ssl.keyStore=/var/lib/jenkins/jenkins.p12"

    trsutstore和keystore分别是存放ca证书和自己的证书和私钥,因为keystore不支持分别导入证书和私钥,因此需要把pem格式转换成pk12然后再导入

    cat jenkins.pem jenkins-key.pem > jenkins-p12.txt
    openssl pkcs12 -export -in jenkins-p12.txt -out jenkins.pkcs12 -name jenkins.home.kd -noiter -nomaciter
    keytool -importkeystore -srckeystore /var/lib/jenkins/jenkins.p12 -destkeystore /var/lib/jenkins/cacerts -srcstoretype pkcs12 -deststoretype jks

    上面三个命令,前两个命令是把pem格式的证书和私钥转换成pkcs12格式,第三个命令是把pkcs12导入keystore里,然后在java启动的时候指定这个keystore就可以了。 几个有用的命令: openssl verify -CAfile $cacert $cliencert 使用ca证书验证


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据结构、算法与应用

数据结构、算法与应用

(美)Sartaj Sahni / 汪诗林、孙晓东、等 / 机械工业出版社 / 2000-01 / 49.00

本书是关于计算机科学与工程领域的基础性研究科目之一――数据结构与算法的专著。 本书在简要回顾了基本的C++ 程序设计概念的基础上,全面系统地介绍了队列、堆栈、树、图等基本数据结构,以及贪婪算法、分而治之算法、分枝定界算法等多种算法设计方法,为数据结构与算法的继续学习和研究奠定了一个坚实的基础。更为可贵的是,本书不仅仅介绍了理论知识,还提供了50多个应用实例及600多道练习题。 本书......一起来看看 《数据结构、算法与应用》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

html转js在线工具
html转js在线工具

html转js在线工具