openldap 使用密码解密 cert8.db、keys3.db

openldap 使用密码解密 cert8.db、keys3.db

我必须分析 OpenLDAP 配置,其中证书和密钥存储在 cert8.db 和 keys3.db 文件中。

我有一个关联的密码文件,它似乎用于加密/解密数据。还有一个 secmod.db 文件,其中包含以下内容:

Root Certs /usr/lib64/libnssckbi.so
Root Certs KdNSS Internal PKCS #11 Module
configdir='/etc/openldap/certs'
certPrefix=''
keyPrefix=''
secmod='secmod.db'
flags= updatedir=''
updateCertPrefix=''
updateKeyPrefix=''
updateid=''
updateTokenDescription='' ?=NSS Internal PKCS #11 Module

file返回命令/etc/openldap/certs

cert8.db:  Berkeley DB 1.85 (Hash, version 2, native byte-order)
key3.db:   Berkeley DB 1.85 (Hash, version 2, native byte-order)
password:  ASCII text
secmod.db: Berkeley DB 1.85 (Hash, version 2, native byte-order)

但是,我找不到解密这两个文件中存储内容的方法。我尝试使用 pk12util,但列出包含的证书后返回:

pk12util -l cert8.db
Enter password for PKCS12 file:
pk12util: PKCS12 decoding failed: SEC_ERROR_BAD_DER: security library: improperly formatted DER-encoded message.

我如何从这些文件中检索数据?

编辑

我也来读这个帖子建议使用db_dump

db_dump -l cert8.db 
db_dump: BDB0210 cert8.db: metadata page checksum error
db_dump: BDB5115 open: cert8.db: Invalid argument

非常感谢

答案1

使用(certutilnss-toolsRHEL/CentOS 上):

certutil -L -d /etc/openldap/certs

将为您提供证书列表。

Certificate Nickname                                         Trust Attributes
                                                             SSL,S/MIME,JAR/XPI

OpenLDAP Server                                              CTu,u,u

使用以下方式导出密钥

 pk12util  -o outfile.p12 -d /etc/openldap/certs -n "OpenLDAP Server"

这将要求输入导出的密码(在文件中password)和导出密钥的密码。

相关内容