Что я хочу сделать, так это иметь свою собственную процедуру (предпочтительно CPP), которая может создавать сообщение запроса сертификата, как в RFC4211.
Я понимаю, что способ сделать это, прежде всего, получить описание модуля ASN, а затем скомпилировать его, чтобы получить код, который я могу использовать для создания объекта нужного мне типа (в данном случае CertReqMessage). Затем я могу закодировать это, используя BER или XER или что-то еще...
Поэтому я сначала настроил сбор всех необходимых модулей ASN, и список содержит много RFCS — RFC4211, RFC5280, RFC5652, RFC5755 и, возможно, еще один, который мне сейчас не хватает. Я извлек их из RFC, а затем попытался скомпилировать, но не могу скомпилировать все файлы (я использую этот компилятор http://lionet.info/asn1c/compiler.html). RFC «самого низкого уровня» (которые не импортируются из других) работают, но когда я добавляю другие RFC в список компиляции, в какой-то момент (обычно при добавлении последнего) я получаю сообщение, что один или два внешних модули не найдены, хотя они находятся в списке аргументов как файлы для компиляции. Я также получаю сообщения о конфликте выражений между модулями ASN...
Я попытался поместить все модули в один файл и использовал этот компилятор: http://asn1-playground.oss.com/ и, похоже, он работал (с некоторыми предупреждениями), но я не могу получить код, используя этот онлайн-код.
Я не уверен, что не так - проблема с этим компилятором asn1c (v0.9.27) или есть какие-то шаги, которые я должен сделать, но я не сделал? Должен ли я вручную исправлять все эти коллизии самостоятельно и с импортом или как?
Или есть какой-то лучший компилятор, который я могу использовать?
Спасибо за любую помощь!