Как отозвать сертификат openssl, если у вас нет сертификата
Я сделал сертификат openssl, подписанный CA, созданным на локальном компьютере.
этот сертификат был удален, и у меня его больше нет.
невозможно создать другой сертификат с тем же общим именем, потому что openssl не позволяет этого и будет генерировать ошибку:
failed to update database
TXT_DB error number 2
Как я могу отозвать сертификат, чтобы создать другой с тем же общим именем ?
2 ответов
(исходя из Nilesh это!--10-->) в конфигурации по умолчанию, OpenSSL будет хранить копии всех подписанных сертификатов в /etc/ssl/newcerts
, названный по его номеру индекс. Так что grep /etc/ssl/index.txt
чтобы получить серийный номер ключа, который будет отозван, например 1013, выполните следующую команду:
openssl ca -revoke /etc/ssl/newcerts/1013.pem #replacing the serial number
The -keyfile
и -cert
упомянутые в ответе Нилеша требуются только в том случае, если это отклоняется от вашего openssl.cnf
настройки.
вы также можете изменить /etc/ssl/index.txt.attr
содержит строку
unique_subject = no
разрешить несколько сертификатов с одинаковым общим названием. Если вы опубликовали исходный сертификат, отзыв старого является предпочтительным решением, даже если вы не запускаете сервер OSCP или не предоставляете CRL.
Я не пробовал это, но, похоже, нужно что-то вроде этого.
openssl ca-отозвать bad_crt_file-keyfile ca_key-cert ca_crt
openssl автоматически сохраняет копию сертификата в каталоге newcerts. Вы можете проверить его, чтобы получить сертификат. К сожалению, вам нужен сертификат, чтобы отозвать его. Смотрите следующие детали: http://www.mad-hacking.net/documentation/linux/security/ssl-tls/revoking-certificate.xml