Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CspParameters cspparams = new CspParams { Flags = CspProviderFlags.CreateEphemeralKey };
- using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(cspparams))
- { // Both shown here but only one used depending on operation
- // For the signing RSA use this:
- rsa.ImportCspBlob(pvkBlob);
- // for the verifying RSA use this:
- rsa.ImportCspBlob(pukBlob);
- byte[] modelBlob = GetModelBlob(model);
- HashAlgorithm halgo = HashAlgorithm.Create("SHA1");
- // For signing use this:
- model.Signature = null; // not used to compute sig
- DataContractSerializer serializer = new DataContractSerializer(model.GetType());
- using (MemoryStream memoryStream = new MemoryStream())
- {
- serializer.WriteObject(memoryStream, model);
- byte[] toSaveSig = rsa.SignData(memoryStream, halgo);
- model.Signature = toSaveSig;
- }
- // For verifying use this:
- byte[] retrievedSig = model.Signature;
- model.Signature = null; // not used to compute sig
- bool verified = rsa.VerifyData(modelBlob, halgo, retrievedSig);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement