Как проверить, правильный ли файл.sig?
Я выполнил следующие команды для создания подписи для файла (ядро Linux):
openssl req -newkey rsa -keyout codesign.key -out codesign.req
openssl ca -config ca.cnf -extensions codesigning -in codesign.req -out codesign.crt
openssl cms -sign -binary -noattr -in vmlinuz -signer codesign.crt -inkey codesign.key -certfile ca.crt -outform DER -out vmlinuz.sig
Файл ca.cnf
предназначен для моей собственной инфраструктуры частного центра сертификации и имеет расширение использования ключа цифровой подписи и включенное расширение использования расширенного ключа кодирования.
Формат Ca.cnf:
[ca]
Default_ca = ca_default
По умолчанию[ca_default]
Сертификат = ca.crt
Личный ключ= ca.ключ
Серийный номер = ca.srl
База данных = ca.idx
New_certs_dir = /главная/apoorv/проекты/подписано
Default_md = по умолчанию
Политика = политика всего
Сохранить = да
Дни по умолчанию = 90
Уникальный объект = нет
[политика всего]
Название страны = необязательно
Имя состояния или провин= необязательно
Локальное имя = необязательно
Название организации = необязательно
Имя организационного подразделения = необязательно
Общее имя = необязательно
Адрес электронной почты = необязательно
[крест]
Базовые ограничения =критические, CA: истинные
KeyUsage =критический, cRLSign, знак ключа
[разработка кода]
KeyUsage = Цифровая подпись
Расширенное использование= Разработка кода
Команда: openssl cms -проверка -двоичное содержимое vmlinuz -сообщить об этом в vmlinuz.sig-CAfile ca.crt
Вывод:
Ошибка проверки 140187569694352: ошибка:2E099064: Процедуры CMS: CMS_SIGNERINFO_VERIFY_CERT: ошибка проверки сертификата: cms_smime.c:287: Ошибка проверки: неподдерживаемое назначение сертификата
Не могли бы вы, пожалуйста, внести какой-либо вклад?? Большое спасибо.