public void ServerRsaEncryptionDecryptionTest()
        {
            var bouncyCryptoHelper = new BouncyCryptoHelper();
            var keys = bouncyCryptoHelper.GenerateKeyPair();

            var input      = "Example message for decryption/encryption! With spec symbol ™";
            var publicKey  = keys.Item1;
            var privateKey = keys.Item2;

            var encryptedMessage = bouncyCryptoHelper.EncryptMessage(input, publicKey);

            var output = bouncyCryptoHelper.DecryptMessage(encryptedMessage, privateKey);

            Assert.Equal(input, output);
        }
        public void MobileReactNativeRsaNativeEncryptionDecryptionTest()
        {
            var bouncyCryptoHelper = new BouncyCryptoHelper();
            var input           = "Example message for decryption/encryption! With spec symbol ™";
            var mobilePublicKey =
                "-----BEGIN RSA PUBLIC KEY-----\n" +
                "MIICCgKCAgEApx7x891JbXsJETEQNqzy67Wu3avqK5KDVTwepWrMa+/9tRMeHgka\n" +
                "hYKlFmf7kX3BHXiskWAsyB3y83JernX+jl3sbM9WHwi9AVbjJMnVrP2gCeY/OO33\n" +
                "waKg+D9xQzEdvGa5p9jZ2pMWNV0Bco3lHMM35RhyBGZACzolflUSJfNbqADIEsgz\n" +
                "2pjuz2ulz1zEvzkQgUAnG+uQUayX9W+4icmTnrNh3rj/+UfF7N82fegkK+oNy83A\n" +
                "fl3Os5kgIa3i06uJwFWFb+Tp4HX2vu01e9Kseofzo9nyYX5kDvyhTQl7t/2js/ZX\n" +
                "OJ3amFUQldKeIWzU1ZwTD3IDBVDwtK//Bx3eRtPUq0v53liCVbfhcJ6YZxpROxcY\n" +
                "LFTejtjZvdbq6bI2GYAFiiFSh066PFrFQHfgMv0/sQZ56M7JJWFgV9tQbkDdYQ7Y\n" +
                "uadjhQck040nDxu6fcqaXW9yH1Lr1bZYmv5LZHrFhQo2Ucy8wgnWVKvbWzLwkSJu\n" +
                "Te7hEzRS+bcISYYL8yBndUH3ZJBnn98gDhZBDYILUzNDhBZZB9bKsNxD0I7j/ofK\n" +
                "xamEZKA7SYGOpdqmJVypWMEDUFd49BqYo4/94iVgFUAzg+ypc8lLxC8CFPrunkmL\n" +
                "QfxyoZ50yB3OvKl3pR9Uk7n4+aBBPYRDEqOosZ71ARzW3iBnGSnlsmECAwEAAQ==\n" +
                "-----END RSA PUBLIC KEY-----\n";

            var mobilePrivateKey =
                "-----BEGIN RSA PRIVATE KEY-----\n" +
                "MIIJKgIBAAKCAgEApx7x891JbXsJETEQNqzy67Wu3avqK5KDVTwepWrMa+/9tRMe\n" +
                "HgkahYKlFmf7kX3BHXiskWAsyB3y83JernX+jl3sbM9WHwi9AVbjJMnVrP2gCeY/\n" +
                "OO33waKg+D9xQzEdvGa5p9jZ2pMWNV0Bco3lHMM35RhyBGZACzolflUSJfNbqADI\n" +
                "Esgz2pjuz2ulz1zEvzkQgUAnG+uQUayX9W+4icmTnrNh3rj/+UfF7N82fegkK+oN\n" +
                "y83Afl3Os5kgIa3i06uJwFWFb+Tp4HX2vu01e9Kseofzo9nyYX5kDvyhTQl7t/2j\n" +
                "s/ZXOJ3amFUQldKeIWzU1ZwTD3IDBVDwtK//Bx3eRtPUq0v53liCVbfhcJ6YZxpR\n" +
                "OxcYLFTejtjZvdbq6bI2GYAFiiFSh066PFrFQHfgMv0/sQZ56M7JJWFgV9tQbkDd\n" +
                "YQ7YuadjhQck040nDxu6fcqaXW9yH1Lr1bZYmv5LZHrFhQo2Ucy8wgnWVKvbWzLw\n" +
                "kSJuTe7hEzRS+bcISYYL8yBndUH3ZJBnn98gDhZBDYILUzNDhBZZB9bKsNxD0I7j\n" +
                "/ofKxamEZKA7SYGOpdqmJVypWMEDUFd49BqYo4/94iVgFUAzg+ypc8lLxC8CFPru\n" +
                "nkmLQfxyoZ50yB3OvKl3pR9Uk7n4+aBBPYRDEqOosZ71ARzW3iBnGSnlsmECAwEA\n" +
                "AQKCAgAF2jeHeRd9ZWEoswGHY/iuUIqZrJpq2/VsMSqoE48/f5Ql3hAQZcnMr4nB\n" +
                "OP3mRzjRmRnJo1byIPAH/o3KWYC4eC7OPoJchsbFUsdUe5p3YEWKrzTbKnniNAQj\n" +
                "1BHu9CZ/eWVKl4Aaj3XSw37oWx0ma+o2TuwNk3iY7rh5001rRY757qFoXKPfOvrl\n" +
                "nzZmESXlMJYEwWFqkNi5GXyT/bgg9Xg3/FNtiag80NqsLBgZYj1OXzgMNph6pxA/\n" +
                "jxmrqu5DcsbZn3e+AUPU8StFc022YucYyTpwTEgOCg9uNxfdeHsWsy54oARHgT9S\n" +
                "qsDweY5BgKaL6UyBaRZUvnQYJG/Uym/8BU59NviCdJCXyT49cBfdgt1QGdBuBdf7\n" +
                "SA57sKeg0ovvF2Dla3bVdWbHUqpIMhwBxK9pGFaOwDnYXH5gXLcpykh6mP0QGD4g\n" +
                "T0AK+FPhXTAcNX8Z9dD6W28fkljYvpT8Rw2LRfnAk+M+N5mZByG1NkR5H1cIWykN\n" +
                "d2T9UpBgBNCHfQ3wYtnGfHUghczpcF4CF/gNdbBrrxp5S0/8kmY0eUosiMBkRmXH\n" +
                "vhKl46TBe92kf18tYujc0wPzHSZX8bdWSx5djIS6tChc6MPBtOApe3ePahb2CIvH\n" +
                "PRPlkqVeep/A+UbK8y5+z9TwCD8ZZoVROovRo/sq47yRE606iQKCAQEA0575besm\n" +
                "vCy1ZhR2dD5hZcUhN5wYYN5EiI7Mufp7rJ7/J/oKSGFjtqR4i6legQzcGLvFfVON\n" +
                "R5ZrtiSMAw+3PwNKjVOEvjPBt8TQX/hovtYLsDwvYfUr4qlk9PXIgkDZwjnQSyi3\n" +
                "NV6s6OCghuqjTzsXLZN1q2HftA+blnEA7VL3zN7YnjBvHOr2eP3FvRDhDJjVivfD\n" +
                "zj8+9rVbppNYVSV9YFsKhoIRBIEyEjyzxemXf7FZPGGrd6DBw+6rHsJ9CfDR2pSI\n" +
                "Ndb8MrCWT9MZ4c/R0HqQhNqGf++eTPCKo7N9AVaDYUha2niB6aRT5kSlNybi65ZN\n" +
                "fDESsUTRT0IBOQKCAQEAyirzOAUKBABeBSPdZUFo4Eo6gW/WbJprUOyFQ5UpGUYR\n" +
                "N5yZnA+SVoSNkkyKkegAAxOd3/FLkmvFxfRNVNgkfPRTbz46WdaXjhrqD0GynQfE\n" +
                "d+3Jyeam5k0SDRMhsG/ruPuFyHs5pYaiJXHrU9KrVgckM239n9jtFyhFrH2eIhl1\n" +
                "akV+UDa5UFVKqfiCxN3CE7KIFbKfJ+dJg1L//Kt1UbCtNVT/X0+EJpbAQZbVd4fM\n" +
                "bGO9Qanb0aydfY77wqkeIx3YbVZzuAPWKOL/4ZIVAw6TF4XtmUtzLAjbtUwBOCvd\n" +
                "O7DxqcXLJMlbti0V4UJiOAPO7gAApfZ4TVYHyBbCaQKCAQEAsKQSL94JBymKgRqz\n" +
                "hXRMeFaD05dIAhOFwTbxTIv4j65n7UaZLrGcOegvduR5Ld8+GKcjwejsFMVKQ09e\n" +
                "T2/e1Yo5wJ3mP52UJYDzLih7xk+EkiaqpmmvqBMdYhuGsrLPEYCQjSv/QV01l21o\n" +
                "kTVp+8inIDPmFJgt0m70wC6zR2Xp0ehxiBmFpe26rmOlmptsPseT99u4ZYAFXokj\n" +
                "Z3e2U9xnOvbDYmNPMSNmWDKzHJBPFRdEFVKxfbmCA7pEu/g7xwBtKrawu8An42fj\n" +
                "D951zDdcO1kTKNH/UusAh9iA4QQBZAyCvcFXlOTiC9RO8/Z4sgCTiXJ8Wx3bLHz0\n" +
                "+eNugQKCAQEAxI55pk+P61AIGWtDR70OoHLK6ym3CiQgjq9G6exN5xquhqkk2Axz\n" +
                "tNZvZnwwhadQy6z449AQL63Eva/Gt+TlpO9PZ2rTBKGU/D7Crk6rv+zbYda5SCmO\n" +
                "v37TPA8LxCUsw88XxVG5PGvnngxiRj8fAiczVSVtX0pjSQ6InyoK4xBpjgc+xfJO\n" +
                "vgIO866ARbNtjAUaNi5Se1Ntr9a0uA5jpCboYF/hYeNHktUi2yIxLWPEpuVaDkt9\n" +
                "QyBWhsrLj/kpKe9MixFwtMpWH66EJeYHs88px8cYuOAYfAmow13AGcLb97sTWoLJ\n" +
                "/VwgZMD08uu93sQlHlS2TKWTVW19Z1ZpcQKCAQEAizKF1I/Oji0B8IbKm3SjsIyw\n" +
                "/3SI/XSDKpyyWayBsM0SczBf4lXSSTj7uY4Yn/68V6YJnTLygehUf39rYN154bIE\n" +
                "qrpUMu840LDV6+NVzaNaUKdKIGnDMRarqkjQPc9ZizwAzEr7bbGGtlTwa47F67WY\n" +
                "RfqJ34pf3EOQvoD2Lai8QLLI70+rGDEYmJnnja19j91N+VFwS3jTk8OQAbkI15bp\n" +
                "LSaVPizZ8CvXPmqvEnJrimcla3uOiqB8dpiCLdQMV/IJSVT4M5vmVGN8u3zsj3YJ\n" +
                "J2DfeSix17sc9p0l32RhNHzm0y7buCfySEqap/iiv1rwgYnRgIyNAzfR7N7WdQ==\n" +
                "-----END RSA PRIVATE KEY-----\n";

            var encryptedMessage = bouncyCryptoHelper.EncryptMessage(input, mobilePublicKey);
            var output           = bouncyCryptoHelper.DecryptMessage(encryptedMessage, mobilePrivateKey);

            Assert.Equal(input, output);
        }