Se me ha encomendado la tarea de implementar una biblioteca de PKI en C# para un proyecto de la compañía, y no he podido encontrar una buena implementación de la misma. Parece haber varias bibliotecas y muchos enlaces rotos que apuntan a las bibliotecas de MSDN que se han eliminado. He visto personas que usan Crypt32.dll, personas que crean sus propias bibliotecas, personas que usan P/Invoke para acceder a almacenes de certificados del sistema, personas que amplían las bibliotecas integradas, ejemplos que simplemente no se aplican a C# (por ejemplo, ejemplos de Java). y bibliotecas comerciales.Bibliotecas de cifrado?
Mi pregunta es, ¿qué implementación/biblioteca es la más recomendada para el cifrado/descifrado simple de datos?
Como contexto para lo que planeo hacer con él, simplemente necesito encriptar mensajes usando una clave privada (.pfx), y descifrar con claves públicas (.cer). No se requiere la firma y autenticación de mensajes en este nivel del proyecto, aunque puede ser en el futuro. He visto referencias a longitudes de cifrado que me inquietan. Necesitamos poder encriptar cualquier mensaje de longitud (¡dentro de lo razonable, por supuesto!). ¿Debo preocuparme por esto? De ser así, ¿hay alguna forma de enfrentarlo?
Preferiría no almacenar claves públicas/privadas en el administrador de certificados de Windows si es posible, pero si hace la implementación significativamente más simple, que así sea.
que dan cuenta de la PKI y encriptación es un tema muy amplio y complejo, pero estoy esperando para una biblioteca relativamente simple de todos modos ... (se puede esperar, ¿verdad?)
Gracias!
De hecho, la totalidad del espacio de nombres System.Security.Cryptography aplica. Debe contener todas las primitivas requeridas para la mayoría de los criptosistemas. –
¿Podría aclarar sobre el algoritmo de búfer? Además, me pregunto si esto es estándar con el descifrado/cifrado de RSA. Parte de este cifrado se enviará a los clientes, y no puedo garantizar que usarán el mismo algoritmo de búfer al que decido ir. ¿Es probable que esto sea un problema o no? – Gabriel