我有一个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格式获取证书?我发现了这些命令,但我的ubuntu系统上甚至不存在/etc/dirsrv/
文件夹。
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.
请注意,出于显而易见的原因,我只想导出证书的公共部分,而不是私有部分(用于易于识别的SSH密钥,其中id_rsa是私有的,id_rsa.pub是公共的,我总是觉得很难知道我出口的证书是公开的还是私人的......)
答案 0 :(得分:1)
如果您按照链接的说明进行操作,那么您已经获得了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格式。
...我只想导出证书的公共部分,而不是私有部分
证书(cacert.pem
)仅包含公钥。私钥(cakey.pem
)未包含在证书中。