Я пролистывал статью за статьей о создании сертификата x509, подписании и т. Д., Но мне еще не удалось найти решение моей проблемы - интересно, сможет ли кто-нибудь указать мне правильное направление, потому что я полностью сбит с толкус этой точки зрения.Вот что я пытаюсь сделать:
Для клиентского приложения:
- Создать пару открытых / закрытых ключей
- Получить ключи как байты [] и сохранитьих в файловой системе.
- Создание сертификата x509
- Создание запроса на подпись
Для серверного приложения:
- Созданиеоткрытая / закрытая пара ключей
- Захватите ключи в виде байта [] и сохраните их в файловой системе.
- Создайте самозаверяющий сертификат X509
- Подпись клиентских сертификатов
- Проверка клиентских сертификатов как подписанных самозаверяющим сертификатом в # 3 выше.
Мне нужно сделать все это программно в .Net и без внешних .exe, таких как makecert.exe или openssl.exe - мне нужно использовать внутреннюю библиотеку и т. д.
У меня есть биты и кусочки, разработанные с использованием различных библиотек, таких как Bouncy Castle, .Net Crypto, openssl и т. д., - но я всегда сталкиваюсь с препятствиямилибо с отсутствием документирования, либо с неспособностью добраться до пар ключей как байт[] чтобы я мог их сохранить и т. д. Либо я делаю это намного сложнее, чем есть, либо существует серьезная нехватка документации - или и то, и другое.
Я полагаю, что кто-то должен был это сделатьраньше, и я бы очень признателен за помощь - я открыт для любых предложений - спасибо!
.. и PKIBlackbox не вариант - он стоит слишком дорого: (