Если все, что у вас есть, - это сертификат в текстовом виде (надеюсь, с подробностями о модуле и показателе открытого ключа и подписи), вам придется перестроить структуру ASN.1 и ее формат DER (PEM).представление представляет собой кодировку base-64 формы DER).
Вам также придется заново составить точный список расширений в сертификате.Большинство известных мне текстовых форм (например, выходные данные openssl x509 -text
или средства отображения браузера) преобразуют OID и значения расширений в более читабельный формат на основе спецификаций, описывающих эти расширения, если они известныразработчики этих инструментов.
Систематическое выполнение в обратном порядке более или менее подразумевает чтение большого количества спецификаций, описывающих потенциальные расширения и выяснение того, что представляет собой читаемый человеком текст, исходящий из этих инструментов. PKIX RFC является одной из этих спецификаций, и ее будет непросто прочитать, особенно если вы начинаете в этой области.
Кроме того, вы можетене сможет сформировать структуру ASN.1 в том же порядке, как это было в фактическом сертификате.Вы должны иметь возможность восстановить точную двоичную структуру, если хотите иметь возможность проверить подпись сертификата.
В общем случае я бы сказал, что сделать это успешно маловероятно.
РЕДАКТИРОВАТЬ : Учитывая то, что вы сказали, вы, похоже, используете certutil LibNSS:
Попробуйте:
certutil -L -r -n "the-cert-nickname" -d . | openssl x509 -inform DER -outform PEM