Мне было поручено внедрить библиотеку PKI в C # для проекта компании, и я не смог найти хорошую реализацию этого. Похоже, что есть несколько библиотек и множество неработающих ссылок, указывающих на библиотеки MSDN, которые были удалены. Я видел людей, использующих Crypt32.dll, людей, создающих свои собственные библиотеки, людей, использующих P / Invoke для доступа к системным хранилищам сертификатов, людей, расширяющих встроенные библиотеки, примеры, которые просто не относятся к C # (например, примеры Java), и коммерческие библиотеки.
У меня вопрос, какая реализация / библиотека наиболее рекомендуется для простого шифрования / дешифрования данных?
В качестве предыстории того, что я планирую делать с этим, мне просто нужно зашифровать сообщения с помощью закрытого ключа (.pfx) и расшифровать с помощью открытых ключей (.cer). На этом уровне проекта подпись и аутентификация сообщений не требуются, хотя это может произойти в будущем.
Я видел ссылку на длины шифрования, которые делают меня неудобным. Нам нужно иметь возможность шифровать сообщения любой длины (в пределах разумного, конечно!). Это то, о чем мне нужно беспокоиться, и если да, то есть ли способ справиться с этим?
Я бы предпочел не хранить открытые / закрытые ключи в диспетчере сертификатов Windows, если это вообще возможно, но если это значительно упрощает реализацию, пусть будет так.
Я понимаю, что PKI и шифрование - это большая и сложная тема, но я все равно надеюсь на относительно простую библиотеку ... (можно надеяться, верно?)
Спасибо!