2016-11-08 3 views
0

Je suis plutôt nouveau à .Net MVC et encore plus récent à Signatures.signe XML avec public Key

Je dois signer un fichier XML développé, puis l'envoyer à mon client avec un flux de réponse. Aftwe tout un tas de combats avec le code, je pouvais signer mon XML Enveloppé. Avec la clé privée RSACryptoServiceProvider, Dataobject, KeyInfo et tout. Mais ensuite, mon client m'a dit que je n'avais qu'une clé publique de lui.

Après une journée de recherche sur Internet, je ne sais toujours pas comment.

Alors ma question: Comment puis-je signer mon XML avec une clé publique dans .Net MVC avec C#?

+1

Vous ne vous connectez pas avec une clé publique. C'est à ça que sert la clé privée. – Amy

+0

Cependant, le mot «enveloppé» signifie probablement que vous devez également le crypter (en général, vous signez d'abord, puis cryptez, mais vous pouvez le faire aussi dans l'autre sens, si le destinataire n'accepte que vos messages). Le cryptage est effectué en utilisant leur clé publique. –

Répondre

0

Vous ne pouvez pas signer un fichier XML avec une clé publique, les clés publiques sont uniquement destinées à la validation.

Pour la signature, vous aurez besoin d'une clé privée, cette clé peut être générée par OpenSSL. Vous pouvez travailler sur ceci pour le moment et ensuite vous devriez demander à votre client de fusionner votre code avec son implémentation de keystore. Une fois que vous êtes en mesure de signer votre fichier, vous verrez le certificat au format base64 dans le document signé. Ce certificat inclut une clé publique qui est utilisée pour valider le signe effectué par la clé privée.

+0

Merci :) Je l'ai fait il y a environ un mois. Le client ne comprend pas vraiment ... – Shaorandra