Domanda

Mi piacerebbe realizzare un cieco RSA firma in .NET. C'è un modo per utilizzare le API System.Security.Cryptography standard per raggiungere questo obiettivo?

L ' "ovvio" idea non funziona:

using (var rsa = new RSACryptoServiceProvider())
  signed = rsa.Decrypt(messageBytes, false);
                // CryptographicException: bad data

apprezzo i pericoli della firma cieca, ma cerchiamo di ignorare quelli per un attimo. Inoltre, io non sono interessato in altri tipi di firme digitali.

È stato utile?

Soluzione

Si stanno per avere a rotolare si possiede. È possibile utilizzare la classe BigInteger di .NET 4 o semplicemente utilizzare la libreria BouncyCastle C #.

Altri suggerimenti

È possibile utilizzare il metodo "SignData" per firmare tutti i dati che ti piace. Ha sovraccarichi per gli array di byte e corsi d'acqua. Per quanto riguarda va il accecante, si sarebbe probabilmente desidera utilizzare dati crittografati (utilizzando una chiave non a disposizione del firmatario) e poi firmare questo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top