Я пытаюсь настроить ocsp для сертификатов, сгенерированных из strongswan PKI, используя его как CA. Если я попытаюсь использовать openssl, он просто выбросит Can't open index.txt.attr for reading, No such file or directory
Пробовал переделать строку сертификата. По-прежнему не работает. Я просто врезаюсь в стену, и мне нужно взглянуть на нее свежим взглядом.
Если да - 1а. Как? Не могу найти по нему никакой документации. Если нет - 1б. на правильном ли я пути с OpenSSL?
Также это команда, которую я использую, чтобы попытаться запустить это - openssl ocsp -index index.txt -CA ca.crt.pem -port 43450 -rkey ocsp.key.pem -rsigner ocsp.issuecrt.pem -resp_no_certs -nmin 60 -text
Ранее я настраивал OpenSSL апреля 2018 года для совместимости алгоритмов ed25519 и X25519. Прежде чем понять, что я не могу заставить crl работать. Затем начал развертывание strongswan для компонентов pki и CA (полностью установил strongswan вручную через source, configure, make, make test, make install - установка зависимости, когда я обнаружил необходимость. Это сработало, мой crl работал, но теперь я могу '' не получил ocsp, и я занимался этим большую часть 2-3 недель, пытаясь понять это, и у меня такое чувство, что я просто толстый и пользователь PEBKAC. Надеюсь, вы, ребята, и девушки сможете помочь. Если вам нужно любой запрос дополнительной информации, и я отредактирую и предоставлю.
Если вы использовали strongSwan инструмент pki для создания вашего центра сертификации не будет файла index.txt, который нужен OpenSSL для своего сервера OCSP. OpenSSL создает и изменяет эти файлы "базы данных" индекса при выдаче / отзыве сертификатов через openssl ca
. Поэтому, если вы хотите использовать сервер OCSP с сертификатами, которые не были созданы с помощью этого инструмента, вам необходимо создать этот файл вручную.
К счастью, файлы index.txt представляют собой простые текстовые файлы, которые можно легко создавать по мере необходимости. Файлы содержат следующую информацию для каждого сертификата, по одному в строке, с каждым полем, разделенным табуляцией:
YYMMDDHHMMSSZ
)Если у вас есть действующий сертификат, вы можете создать запись для файла index.txt с помощью следующего сценария bash (передайте путь к сертификату в формате PEM в качестве первого аргумента сценария):
#!/bin/bash
crt=$1
exp=$(date -d "$(openssl x509 -enddate -noout -in $crt | cut -d= -f 2)" +"%y%m%d%H%M%SZ")
ser=$(openssl x509 -serial -noout -in $crt | cut -d= -f 2)
sub=$(openssl x509 -subject -noout -in $crt | cut -d= -f 2- | cut -d' ' -f 2-)
echo -e "V\t$exp\t\t$ser\tunknown\t$sub"
Чтобы отозвать сертификат, вы можете вручную изменить V
к R
и добавьте дату и (необязательно) причину в третий столбец, например создан с $(date +"%y%m%d%H%M%SZ,keyCompromise")
. Теоретически вы также можете использовать openssl ca
для этого (а также использовать openssl ca updatedb
чтобы отметить сертификаты с истекшим сроком действия), но для этого требуется настроить соответствующий файл конфигурации. Если вы изначально не хотели управлять своим ЦС с помощью OpenSSL, это могло быть излишним.
Также обратите внимание, что по сравнению с CRL вы должны перечислить все сертификаты в файле как openssl ocsp
не ответит со статусом «хорошо», если не найдет действительную запись для серийного номера сертификата.