Мне нужно проанализировать конфигурацию 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
Большое спасибо
Используйте certutil
из nss-tools
(в RHEL / 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
) и пароль для экспортированного ключа.