返回顶部
首页 > 资讯 > 后端开发 > GO >Golang 的 LDAP 客户端库如何使用证书?
  • 844
分享到

Golang 的 LDAP 客户端库如何使用证书?

2024-04-05 00:04:35 844人浏览 八月长安
摘要

“纵有疾风来,人生不言弃”,这句话送给正在学习golang的朋友们,也希望在阅读本文《Golang 的 LDAP 客户端库如何使用证书?》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新Gol

“纵有疾风来,人生不言弃”,这句话送给正在学习golang的朋友们,也希望在阅读本文《Golang 的 LDAP 客户端库如何使用证书?》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新Golang相关的技术文章,有好的建议欢迎大家在评论留言,非常感谢!

问题内容

我正在尝试使用 Golang 的 LDAP 库连接到 G Suite 的 LDAPS 服务器

但是,在这个例子中,我并没有真正理解两件事。

  1. 看起来它首先通过非加密的 LDAP 连接?然后就升级了?这是真的吗?如果是这样,我不能从加密连接开始吗?

  2. Google 提供 .cer 和 .key 文件来连接到其 LDAP 服务器。我不知道它在哪里使用这些文件。我确实在他们的文档中看到许多 LDAP 客户端要求将文件组合成 .p12。这对于 Go 有必要吗?

如果回答这个问题的人可以提供一个例子,那确实会有帮助。谢谢。


解决方案


正如您所指出的,starttls 允许用户在连接生命周期稍后升级连接以使用 tls

如果您想立即通过 tls 连接,请使用众所周知的 ldaps 端口 636(而不是 389) - 并使用 dialtls:

// l, err := ldap.dial("tcp", "ldap.example.com:389"))

var tlsconf *tls.config

ldaps, err := ldap.dialtls("tcp", "gsuite.google.com:636", tlsconf)

您还可以使用 dialurl,它通过架构推断 tls 或非 tls

conn, err := ldap.dialurl("ldap://ldap.example.com") // non-tls on default port 389
conn, err := ldap.dialurl("ldaps://ldap.example.com") // tls on default port 636
conn, err := ldap.dialurl("ldaps://myserver.com:1234") // tls on custom port 1234

// note: there is no way to add a custom tls.config with this method

因此,如果使用 dialtls:由于您使用的是 google 服务,因此它的信任证书应该已经在您的钥匙串中,因此一个简单的 tls.config 就足够了:

tlsconf = &tls.config{servername:"gsuite.google.com"} // <- ensure this matches the hostname provided by the server

如果您想开始运行测试

// dont ever use this in production...
tlsconf = &tls.config{insecureskipverify: true} // do not use ever

添加客户端证书以进行客户端身份验证:

// Load cer & key files into a pair of []byte 
cert, err := tls.X509KeyPair(cer, key)
if err != nil {
    log.Fatal(err)
}
tlsCong := &tls.Config{Certificates: []tls.Certificate{cert}}

终于介绍完啦!小伙伴们,这篇关于《Golang 的 LDAP 客户端库如何使用证书?》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~编程网公众号也会发布Golang相关知识,快来关注吧!

您可能感兴趣的文档:

--结束END--

本文标题: Golang 的 LDAP 客户端库如何使用证书?

本文链接: https://lsjlt.com/news/596113.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Golang 的 LDAP 客户端库如何使用证书?
    “纵有疾风来,人生不言弃”,这句话送给正在学习Golang的朋友们,也希望在阅读本文《Golang 的 LDAP 客户端库如何使用证书?》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新Gol...
    99+
    2024-04-05
  • 如何为MySQL服务器和SSL客户端生成证书?
    dbForge Studio for MySQL是一个在Windows平台被广泛使用的MySQL客户端,它能够使MySQL开发人员和管理人员在一个方便的环境中与他人一起完成创建和执行查询,开发和调试MySQ...
    99+
    2024-04-02
  • PostgreSQL数据库如何实现客户端验证
    这篇文章将为大家详细讲解有关PostgreSQL数据库如何实现客户端验证,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。身份验证是数据库服务器建立客户端身份的过程,并通过扩...
    99+
    2024-04-02
  • VB.NET如何验证LDAP用户身份
    这篇文章主要为大家展示了“VB.NET如何验证LDAP用户身份”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VB.NET如何验证LDAP用户身份”这篇文章吧。首先,我要讲的LDAP不是微软的Ac...
    99+
    2023-06-17
  • ssl客户端证书生成的方法是什么
    1、生成私钥使用openssl命令生成一个私钥文件,命令如下:openssl genrsa -out client.key 2048...
    99+
    2023-05-13
    ssl客户端证书 ssl证书
  • JAVA客户端导入证书来访问HTTPS的方法
    JAVA客户端导入证书来访问HTTPS的方法 方法一(修改cacerts文件) java 把证书都放在了 D:\jdks\1.8\jre\lib\security 这个路径下的cacerts 文件里面。 我们进入jdk/bin这个路径,使...
    99+
    2023-08-16
    https java ssl
  • 如何使用服务帐户为 Google Calendar API 设置 golang 客户端
    如何使用服务帐户为Google Calendar API设置golang客户端?这是许多开发者在使用Google Calendar API时经常遇到的问题。在这篇文章中,php小编香蕉...
    99+
    2024-02-14
  • 如何使用instantclient客户端连接oracle数据库
    本篇内容介绍了“如何使用instantclient客户端连接oracle数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!(1)首先下载i...
    99+
    2023-06-30
  • linux 中如何使用svn客户端
    今天就跟大家聊聊有关linux 中如何使用svn客户端,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、将文件checkout到本地目录 svncheckoutpath(path是服...
    99+
    2023-06-13
  • 如何在Golang中使用gRPC实现基础的服务端和客户端
    gRPC是一种高性能、开源和通用的远程过程调用框架,适用于跨语言和平台的RPC调用。它利用Google开发的protobuf协议进行数据传输,可以快速实现服务端和客户端的通信,并且提供了丰富的功能和扩展性。本文将介绍如何在Golang中使用...
    99+
    2023-05-14
  • 配置Linux使用LDAP用户认证的方法
    我这里使用的是CentOS完成的LDAP用户管理,可能与网上的大部分教程不同,不过写出来了,那么是肯定能用的了,不过会有部分文件,忘指教。 这里使用的 OPENLdap 配合 CentOS7 完成的用户管理,需要配置 n...
    99+
    2022-06-04
    配置Linux LDAP用户认证
  • Linux下OpenSSL客户端中使用req命令来生成证书的操作方法
    这篇文章给大家介绍Linux下OpenSSL客户端中使用req命令来生成证书的操作方法,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。openssl req 用于生成证书请求,以让第三方权威机构CA来签发,生成我们需要的...
    99+
    2023-06-12
  • Golang如何实现 pipeline 模式的 redis 客户端
    这篇文章主要介绍“Golang如何实现 pipeline 模式的 redis 客户端”,在日常操作中,相信很多人在Golang如何实现 pipeline 模式的 redis 客户端问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法...
    99+
    2023-06-20
  • Golang InfluxDB 客户端使用 _field 键写入点
    问题内容 我想用这样的签名写点InfluxDB: { "_field": "some_uuid", "_value": float64, "_time": "2006-01-02T15...
    99+
    2024-02-06
  • 如何使用io阅读器客户端
    积累知识,胜过积蓄金银!毕竟在Golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《如何使用io阅读器客户端》,就带大...
    99+
    2024-04-04
  • 如何从 Golang 客户端创建 ElasticSearch 策略
    问题内容 我正在尝试从 elastic golang 客户端 olivere 创建索引生命周期管理 (ilm) 策略,以删除超过 3 个月的索引(使用“每日索引”模式)。像这样的事情:...
    99+
    2024-02-05
  • 如何使用ssl证书
    使用SSL证书的步骤如下:1. 购买SSL证书:选择一个可信赖的SSL证书提供商,并购买适合您需求的证书。通常,您需要提供一些个人和...
    99+
    2023-09-07
    ssl证书
  • ssl证书如何使用
    要使用SSL证书,您需要按照以下步骤进行操作:1. 获取SSL证书:您可以从认可的证书颁发机构(CA)购买SSL证书,或者使用免费的...
    99+
    2023-08-25
    ssl证书
  • oracle数据库客户端如何安装
    要安装Oracle数据库客户端,您可以按照以下步骤操作:1. 首先,访问Oracle官方网站(https://www.oracle....
    99+
    2023-09-05
    oracle数据库
  • 如何使用Docker客户端管理容器
    这篇文章主要介绍了如何使用Docker客户端管理容器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。传统上,在管理物理服务器或虚拟机时,我们只需要连接RDP(运行Windows...
    99+
    2023-06-03
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作