В целом я не думаю, что существуют любые явные отношения между.h и.c файлами. Во многих случаях (вероятно, большинство), единица кода является библиотекой функциональности с открытым интерфейсом (.h) и непрозрачной реализацией (.c). Иногда много символов необходимы, как перечисления или макросы, и Вы получаете.h без соответствующего.c и при нескольких обстоятельствах, у Вас будет глыба кода без открытого интерфейса и никакого соответствующего .h
, в частности, существует неоднократно, когда ради удобочитаемости заголовки или реализации (редко оба) являются столь большими и волосатыми, что они заканчивают тем, что были повреждены во многие меньшие файлы ради исправности программиста.
Сейчас я столкнулся с той же проблемой. Я еще не закончил кодирование решения, но, насколько я понимаю, вам нужно удалить теги ----- BEGIN и т.д. ----- и ----- END и т.д. ------ и декодировать Base64 .
Это оставляет вам строку в кодировке DER, которую нужно проанализировать, чтобы получить модуль и публичную экспоненту. Из них вы можете заполнить структуры PUBLICKEYSTRUC и RSAPUBKEY. Удачи; -)
Я обнаружил «магическую» последовательность вызовов для импорта открытого ключа RSA в формате PEM. Здесь вы идете: