Strongswan PKI - Сертификаты ED25519 - У респондента OCSP возникли проблемы

Я пытаюсь настроить ocsp для сертификатов, сгенерированных из PKI strongswan - используя его в качестве CA. Если я пытаюсь использовать openssl, он просто выбрасывает Can't open index.txt.attr for reading, No such file or directoryПробовал заново делать строку сертификата. Все еще не работает. Я просто бью стену, и мне нужны свежие глаза на нее.

  1. Есть ли способ заставить сильную роль развернуться?

Если да - 1а. Как? Не могу найти никакой документации по этому вопросу. Если нет - 1б. я на правильном пути с OpenSSL?

  1. Как я могу исправить это сообщение об ошибке - используя strongswan - я не могу сгенерировать index.txt

Также это команда, которую я использую, чтобы попытаться запустить это - 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. До того, как я понял, что я не смог заставить работать его. Затем началось развертывание strongswan для компонентов pki и CA (установил полный strongswan вручную через исходный код, сконфигурировал, сделал, выполнил тестирование, сделал установку - установил зависимость, как я обнаружил необходимость. Это сработало, я заработал свой crl, но теперь могу " не получаю ocsp, и я был в этом в течение большей части 2-3 недель, пытаясь выяснить это, и у меня есть чувство, что я просто толстый и пользователь PEBKAC. Надеюсь, вы, ребята, можете помочь. Если вам нужно любой запрос дополнительной информации, и я буду редактировать и предоставлять.

1 ответ

Решение

Если вы использовали pki-инструмент strongSwan для создания своего CA, то не будет никакого файла index.txt, который нужен OpenSSL для его сервера OCSP. OpenSSL создает и изменяет эти индексные файлы "базы данных" при выдаче / отзыве сертификатов через openssl ca, Поэтому, если вы хотите использовать сервер OCSP с сертификатами, которые не были созданы с помощью этого инструмента, вы должны создать этот файл вручную.

К счастью, файлы index.txt - это простые текстовые файлы, которые можно легко создавать по мере необходимости. Файлы содержат следующую информацию для каждого сертификата, по одному на строку, каждое поле разделено вкладкой:

  1. Статус: "V" (действительный), "R" (отозван) или "E" (истек)
  2. Дата / время истечения в UTC (формат YYMMDDHHMMSSZ)
  3. Дата / время отзыва (в том же формате, что и выше, пусто для действительных или просроченных сертификатов) и необязательная причина (через запятую, например "superseded" или "keyCompromise")
  4. Шестнадцатеричный серийный номер сертификата
  5. Имя файла сертификата (кажется, что OpenSSL не использует его и устанавливает его как "неизвестный"), также может быть пустым
  6. Тема DN сертификата (косая черта разделяет RDN), необязательно

Если у вас есть действительный сертификат, вы можете сгенерировать запись для файла 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 не ответит со статусом "хорошо", если не найдет правильную запись для серийного номера сертификата.

Другие вопросы по тегам