【问题标题】:How to get a ssl certificate for java application from samba4 DC server?如何从 samba4 DC 服务器获取 Java 应用程序的 ssl 证书?
【发布时间】:2013-05-20 10:33:27
【问题描述】:

我们有一个邮件系统,可以通过 ldaps URL 修改活动目录 users/orgnization_unit。它需要一个存储在 java keystore 中的服务器证书来建立 ssl/tls 连接。

现在我想使用 samba4 作为域控制器而不是 Windows 服务器,但我没有找到像这样的活动目录指南: https://confluence.atlassian.com/display/DOC/Configuring+an+SSL+Connection+to+Active+Directory.

如何从 samba4 DC 服务器获取 ssl 证书?有可能吗?


我使用的是fedora 18,但没有使用fedora 提供的samba 包,因为它还不支持域控制器。我根据本指南从源代码编译了 samba-4.0.5:http://linuxdrops.com/install-samba-4-on-centos-rhel-fedora-debian-ubuntu/

【问题讨论】:

  • 查看此链接:[SWAT 和 SSL] (samba.org/samba/docs/swat_ssl.html)。忽略 SWAT 相关行,您只对生成证书和密钥感兴趣
  • @Raza,感谢您的链接。我不仅对如何生成它感兴趣,而且对如何配置它以让客户端应用程序与 samba4 ldaps 服务器一起工作,证书是否必须由微软颁发或是否有任何其他问题感兴趣。类似的东西。
  • 获得证书后,任何基于 PKI 的通信都是一样的。无法在 cmets 中为您提供详细信息,因此我正在为您创建答案。

标签: java ssl-certificate samba domaincontroller


【解决方案1】:

您需要做的第一件事是从 Samba 服务器获取证书,如我之前发送给您的 Samba 文档中所述。获得证书后,在 Windows 或任何其他机器上使用它也不例外。

您需要做的是创建一个 KeyStore。对于我的工作,我使用了http://portecle.sourceforge.net/。这是一个非常好的基于 GUI 的工具,您可以使用它来创建自己的密钥库并将密钥添加到您的密钥库。如果您不喜欢它,您可以使用您选择的一种。

使用此工具,您需要先创建一个密钥库,然后将证书添加到您的密钥库。您的密钥库将保留密钥并设置密码。然后你需要设置系统属性。像这样:

System.setProperty("javax.net.ssl.trustStore", "keystore file path");
System.setProperty("javax.net.ssl.keyStorePassword", "keystore file password");

真的是这样。如果您发现任何困难,那么我建议您在 Google 上搜索“使用 Java 中的证书”,您将获得大量资源。

请注意,让所有这些工作让您有些头疼。但相信我,没有什么比这更重要的了。

我希望你现在可以接受这个作为答案:)

【讨论】:

  • 就这么简单吗?是的,但我不需要手动生成证书。在配置 samba4 dc 之后,samba4 已经在/usr/local/samba/private/tls 目录下生成了它的 ca.perm & cert.perm & key.perm。所以,我只需将 cert.perm 复制到客户端,然后将其导入 java 密钥库:keytool -import -keystore samba4-cert.jks -file cert.perm,完成!邮件系统和我的程序现在都可以使用 ldaps URL 修改 AD 中的用户帐户了。
猜你喜欢
  • 2010-11-25
  • 1970-01-01
  • 2013-03-18
  • 2017-07-03
  • 2015-08-10
  • 2018-02-26
  • 2020-03-24
  • 1970-01-01
  • 2017-10-10
相关资源
最近更新 更多