我有一个 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/