Je travaille sur un projet où j'ai besoin d'utiliser une "clé publique" pour crypter un message en utilisant l'algorithme RSA. J'ai reçu un certificat et ma première pensée a été d'utiliser la clé publique de ce certificat et après enquête, j'ai appris que je devais utiliser RSACryptoServiceProvider
pour le chiffrement.Construire RSACryptoServiceProvider à partir de la clé publique (pas de certificat)
J'ai vérifié msdn et seule la méthode que je pensais devoir utiliser est RSACryptoServiceProvider.ImportCspBlob(byte[] keyBlob)
. Lorsque j'ai essayé d'utiliser la clé publique exportée du certificat, j'obtenais une erreur indiquant que les données d'en-tête du certificat n'étaient pas valides.
Je sais que je peux lancer X509certificate2.PublicKey.Key
à RSACryptoServiceProvider
mais d'après ce que j'ai compris de mon client, je ne recevrai qu'une clé publique et non le certificat. Cette clé devra être sauvegardée dans le fichier de configuration .xml. Donc, pour résumer: Y a-t-il un moyen de générer un RSACryptoServiceProvider
avec seulement la clé publique d'un certificat?