ssl - 如何导出PEM格式的证书?

标签 ssl ldap ssl-certificate starttls

我有一个 Ubuntu LDAP 服务器,STARTTLS 使用自签名证书(在 these instructions 之后)。

设置 CentOS 客户端时(在 these instructions 之后),authconfig-tui 命令要求我提供 PEM 格式的证书:

│ To connect to a LDAP server with TLS       │
│ protocol enabled you need a CA certificate │
│ which signed your server's certificate.    │
│ Copy the certificate in the PEM format to  │
│ the '/etc/openldap/cacerts' directory.     │
│ Then press OK.                             │

如何获取 PEM 格式的证书?我找到了这些命令,但是 /etc/dirsrv/ 文件夹在我的 ubuntu 系统上什至不存在。

certutil -L -d /etc/dirsrv/slapd-SOMETHING
certutil -L -d /etc/dirsrv/slapd-SOMETHING -n "SOMETHING_ELSE" -a > cacert.asc

我还看到了命令 certutil -L -d/etc/openldap/certs,它给了我这个错误信息(我也试过 /etc/ssl/certs):

certutil: function failed: SEC_ERROR_LEGACY_DATABASE: The certificate/key database is in an old, unsupported format.

请注意,由于显而易见的原因,我只想导出证书的公共(public)部分,而不是私有(private)部分(用于易于识别的 SSH key ,其中 id_rsa 是私有(private)的,id_rsa.pub 是公共(public)的,我总是很难知道我导出的证书是公共(public)的还是私有(private)的……)

最佳答案

如果您按照链接到的说明进行操作,那么您已经获得了 PEM 格式的证书。根据这些说明:

Create the self-signed CA certificate:

sudo certtool --generate-self-signed \
   --load-privkey /etc/ssl/private/cakey.pem \ 
   --template /etc/ssl/ca.info \
   --outfile /etc/ssl/certs/cacert.pem

证书是/etc/ssl/certs/cacert.pem,是PEM格式。

...I would like to export only the public part of the certificate, not the private part

证书 (cacert.pem) 仅包含公钥。私钥 (cakey.pem) 不包含在证书中。

关于ssl - 如何导出PEM格式的证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28947150/

相关文章:

ssl - docker.sock 使用哪个 ca.crt 进行 docker pull?

java - LdapInvalidDn异常 : unexpected token:

java - LDAP 按电子邮件值搜索找不到记录

android - 在 android 中使用 SSL 进行通信

curl - 为什么authorize.net 使用的证书是由不在众所周知的curl.haxx.se/ca/cacert.pem 列表中的CA 签名的?

Windows Server 2008 上的 Paypal 经典 asp msxml 错误

ssl - 向 Jetty 服务器 Clojure 添加 SSL 支持时出错

apache - 本地 SSL 证书返回错误 "result too small", "problems getting password"

java - HTTP 请求(使用 SSL)JAVA 与 AJAX

wordpress - WordPress、Node、GitLab 和 CLI 的用户管理系统