Я пытаюсь реализовать самоподписанный сертификат x509, в котором в качестве алгоритма открытого ключа используется постквантовый (PQ) алгоритм открытого ключа.Я посмотрел на библиотеку openssl в c, и как это делается с использованием RSA.По сути, я пытаюсь повторить тот же формат.Из того, что я видел в библиотеке openssl, RSA и несколько других поддерживаемых алгоритмов интегрированы в крипто-EVP-уровень (ключ хранится как EVP_PKEY).Функции в библиотеке openssl, которые я пытаюсь использовать: X509_REQ_set_pubkey (X509_REQ * x, EVP_PKEY * pkey) и некоторые другие функции, которые имеют очень похожие входные данные.Есть ли способ, которым я могу интегрировать алгоритм PQ в уровень EVP?Если нет, то есть ли способ использовать слой EVP, который бы достиг той же цели?
Я попытался изучить исходный код evp в библиотеке openssl.Кажется, он поддерживает только определенные алгоритмы, такие как RSA, EC ... Я не уверен, возможно ли включить алгоритм PQ в уровень EVP.Я следую примеру в этой ссылке: (https://www.codepool.biz/how-to-use-openssl-to-generate-x-509-certificate-request.html) для генерации сертификата. Вместо ключа RSA я просто подключаю ключ алгоритма PQ. Пока я создаю свой сертификат, он всегда выводится внеправильный формат.
Я использую эту команду: openssl x509 -in x509Req.pem -text -noout для чтения генерации сертификата. Всегда отображается сообщение об ошибке «невозможно загрузить сертификат \ n 140688586052032: ошибка:0906D06C: Подпрограммы PEM: PEM_read_bio: нет начальной строки: ../ crypto / pem / pem_lib.c: 691: Ожидается: ДОВЕРЕННЫЙ СЕРТИФИКАТ ".