Я пытаюсь использовать зарегистрированный сертификат EJBCA на сервере подписи. Есть некоторая проблема во время использования его в отметке времени. Выдает эту ошибку с помощью команды signserver getstatus brief all
Errors:
- Missing extended key usage timeStamping
- The extended key usage extension must be present and marked as critical
Хотя, когда я проверил отметку времени профиля сертификата, использование расширенного ключа помечено как критическое. Есть ли способ зарегистрироваться с отметкой времени?
Версия ОС: Windows Server 2016
Java: OpenJDK 8.0.242.08
Муравей: муравей 1.9.14
База данных: MariaDB 10.4.12
Сервер: Wildfly 10.1.0
Сервер подписи: 5.2.0
EJBCA: сообщество 6.15.2.6
Наиболее вероятной причиной является то, что сертификат, который вы импортируете в SignServer, не был выпущен с использованием указанного профиля из EJBCA, поэтому в нем отсутствует указанное вами расширенное использование ключа. Убедитесь, что ваш сертификат выпущен с использованием вашего профиля, и проверьте результаты, например, «openssl x509 -in cert.pem -text», что сертификат действительно использует ключ.
Вы можете распаковать p12 и заглянуть внутрь с помощью «openssl pkcs12». Я имею в виду, что распространенной ошибкой при выдаче сертификата из EJBCA является то, что вы выдаете p12, но при выдаче не выбран правильный профиль сертификата, поэтому вы выдаете сертификат, используя, например, профиль «ENDUSER», а не тот, который вы отредактировал выше. Проверьте профиль сертификата, выбранный при добавлении конечного объекта (называемого «Подтип сертификата» при выполнении запроса в RA Web).
это в "ключевых атрибутах"? ключевые атрибуты пусты. Профиль сертификата добавляется к конечному объекту как подтип сертификата.
Нет, если вы распаковываете p12 с помощью «openssl pkcs12», вам нужно затем скопировать и вставить сертификат из него (BEGIN/END CERTIFICATE), а затем скопировать его в файл, который вы можете проверить с помощью «openssl x509».
Это результат. поэтому временная метка доступна. Это не критично? X509v3 Extended Key Usage:Code Signing, 1.2.840.113583.1.1.5, Time Stamping
Похоже, у вас есть еще несколько расширенных ключей, которых там быть не должно. И выглядит не критично. Скриншот сверху, кажется, включает только отметку времени, и вы установили критический флажок. Перевыпустите сертификат с указанным выше профилем и проверьте еще раз. Он должен включать только расширенное использование ключа, которое вы выбрали в профиле.
Это все еще проблема на другой установке. Теперь это тоже критично, но все равно выдает это сообщение X509v3 Extended Key Usage: critical 1.2.840.113583.1.1.5, Time Stamping
Какое сообщение? Профиль сертификата, который вы сняли на скриншоте выше, имеет несколько проблем, кстати, это обычное расширение использования ключа установлено, среди прочего, как CA (сертификат и знак CRL). Я думаю, что было испробовано несколько вещей, поэтому трудно судить, в чем именно проблема. Я думаю, что теперь легче начать заново, когда вы знаете, что делать с расширенным использованием ключа.
Могу ли я попробовать это только с одним или двумя расширенными ключами? Мне просто нужно только два использования: отметка времени и подпись PDF. Нужно ли мне использовать другие варианты использования ключей или у меня могут быть только эти два использования?
Вы можете абсолютно точно использовать только эти два расширенных ключа. Для «Использования ключа» я бы рекомендовал только «цифровую подпись».
Результат такой: X509v3 Extended Key Usage: critical 1.2.840.113583.1.1.5, Time Stamping \\\ X509v3 Key Usage: critical Digital Signature
. Единственное, что я обнаружил, это то, что результат openssl содержит Time Stamping
, а сервер подписи имеет timeStamping
, но я не думаю, что это правда. Может быть, вы знаете, где я могу найти рабочий пример для отметки времени.
Эта ошибка сохранялась, потому что я использовал один CN и псевдоним (или понятное имя для OpenSSL) для эмитента и субъекта. Похоже, он использовал сертификат эмитента, который, очевидно, не имеет расширенного использования ключа с отметкой времени и выдавал ту же ошибку Missing extended key usage timeStamping
, несмотря на все предыдущие попытки.
Мы выпускаем P12 из EJBCA RA, и, как вы видите на рисунке, профиль сертификата имеет функцию отметки времени, помеченную как используемую и критическую. Есть ли способ проверить P12?