public void TestEncryptedDataWithKeyPairSignedRsaDecrypt() { const string encryptedDataString = "AAEAACDp8lQILA/wVpMoNGm2kPsFhNAjO7JtidaSdsRYnjjialMXma1CN1ovh/QRjUbzKNdUnMW6pRwTbCBLjFSUabs0aK0qJ8b0l0Ot2EbY1kHoxnn8uOVkQ9/4g6pwbiwV5EpWoYT7utYSprM8YLJWYCqb+j0b/z1fLBYLdBuTt6+eaY1ucdohBy2lYDaZQFNtepQMNFr4VI/MqeAciAH9ZAsxt1dOjl6KxtUeOgP25MPf18nvfxIWs1VyAdAbSYki60prVRZP+YuXN5hMn/ss18T1SI/vcIn2UUlH/uh2got8j5JYkMwCvONTJX0ZugxN6FsfrWX31RjV6wpBbpwmut0AAQAAj1/cbAjKHydxBbX8NCDCiomn9HqhvLpjBn3EFgRrtc2mCipqFd9/jJ0B1Kwwtwu1cgSW4Q8hDKaTop90tBK2+8118vbIQ13MHObxvy7pO2NTBs/PtI3z5y+ufISMiRA2IrOifeOftlixNQu5TGoHFbEewz99v40TDh8JCIClXLP3SKX2mZr301LNUq6EeimfRzAdpPaw3HMJl8NQGYxzqqujy2AdPHCytb6zexloWq8oqSjNr+To8kov24AuvWBUW9fAAPtIMeFBctFyW2x8dLiScLXI4ad4iIfWbCkbdAkheJNW9R0VJBhKLqT/HknwX7rKrmN+CMw4ijx28WqEKAA51So/HMFZe3bs91oVa65009TVxchVa/SnOnAC867b1Oxrc1Y5QyIoeEK3WG4BFi4="; var decryptedTestString = EncryptedDataWithKeyPairSigned.DecryptData( encryptedDataString, RsaPrivateKeyPem, RsaPublicKeyPem); Assert.AreEqual(TestString, decryptedTestString); }
public void TestEncryptedDataWithKeyPairSignedRsaString() { var encryptedDataWithKeyPair = new EncryptedDataWithKeyPairSigned( TestString, RsaPublicKeyPem, RsaPrivateKeyPem); var encryptedDataWithKeyPairString = encryptedDataWithKeyPair.ToString(); Assert.IsNotEmpty(encryptedDataWithKeyPairString); var decryptedTestString = EncryptedDataWithKeyPairSigned.DecryptData( encryptedDataWithKeyPairString, RsaPrivateKeyPem, RsaPublicKeyPem); Assert.AreEqual(TestString, decryptedTestString); }
public DeviceToDeviceMessages.Envelope DecryptClientMessage(string message, string senderPublicKeyPem) { var decryptedMessage = EncryptedDataWithKeyPairSigned.DecryptData( message, ApiClient.PrivateKeyPem, senderPublicKeyPem); var messageEnvelope = JsonConvert.DeserializeObject <DeviceToDeviceMessages.EnvelopeSerialised>(decryptedMessage); DeviceToDeviceMessages.IMessage deviceMessage; switch (messageEnvelope.Type) { case DeviceToDeviceMessages.Types.NewSecret: deviceMessage = JsonConvert.DeserializeObject <DeviceToDeviceMessages.NewSecret>(messageEnvelope.Message); break; case DeviceToDeviceMessages.Types.RequestEntrySecrets: deviceMessage = JsonConvert.DeserializeObject <DeviceToDeviceMessages.RequestEntrySecrets>(messageEnvelope.Message); break; case DeviceToDeviceMessages.Types.SendEntrySecrets: deviceMessage = JsonConvert.DeserializeObject <DeviceToDeviceMessages.SendEntrySecrets>(messageEnvelope.Message); break; case DeviceToDeviceMessages.Types.DeleteSecret: deviceMessage = JsonConvert.DeserializeObject <DeviceToDeviceMessages.DeleteSecret>(messageEnvelope.Message); break; case DeviceToDeviceMessages.Types.DeleteEntry: deviceMessage = JsonConvert.DeserializeObject <DeviceToDeviceMessages.DeleteEntry>(messageEnvelope.Message); break; default: // If you're here, you probably just forgot to the new D2D message you created to // the list above. throw new Exception("Unexpected message type"); } return(new DeviceToDeviceMessages.Envelope { Type = messageEnvelope.Type, Message = deviceMessage }); }