コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
ファイル: GetMessages.cs プロジェクト: bowmark/allauth.lib
        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
            });
        }