public void RsaAsymmetricCryptographyServiceEncryptDecryptTest()
        {
            var asymmetricSevice        = new RsaAsymmetricCryptographyService();
            var keyPairGenerationResult = asymmetricSevice.GenerateAsymmetricKeys(1024);

            Assert.AreEqual(true, keyPairGenerationResult.Success);

            var encryptionArgs = new AsymmetricEncryptionArguments
            {
                PlainText = "Text to be encrypted",
                PublicKeyForEncryption = keyPairGenerationResult.PublicKeyOnlyXml
            };

            var encryptionResult = asymmetricSevice.Encrypt(encryptionArgs);

            Assert.AreEqual(true, encryptionResult.Success);

            var decryptionArguments = new AsymmetricDecryptionArguments()
            {
                CipherText        = encryptionResult.CipherText,
                FullAsymmetricKey = keyPairGenerationResult.FullKeyPairXml
            };

            var decryptionResult = asymmetricSevice.Decrypt(decryptionArguments);

            Assert.AreEqual(true, decryptionResult.Success);
        }
        public void DigitalSignatureServiceTest()
        {
            var asymmetricService = new RsaAsymmetricCryptographyService();
            var keyPairGenerationResultReceiver = asymmetricService.GenerateAsymmetricKeys(1024);
            var keyPairGenerationResultSender   = asymmetricService.GenerateAsymmetricKeys(1024);
            var digitalSignatureService         = new RsaPkcs1DigitalSignatureService(new Sha1ManagedHashingService());

            var signatureCreationArgumentsFromSender = new DigitalSignatureCreationArguments()
            {
                Message                = "eper málna körte",
                FullKeyForSignature    = keyPairGenerationResultSender.FullKeyPairXml,
                PublicKeyForEncryption = keyPairGenerationResultReceiver.PublicKeyOnlyXml
            };

            var signatureCreationResult = digitalSignatureService.Sign(signatureCreationArgumentsFromSender);

            Assert.AreEqual(true, signatureCreationResult.Success);
            var verificationArgumentsFromReceiver = new DigitalSignatureVerificationArguments();

            verificationArgumentsFromReceiver.CipherText = signatureCreationResult.CipherText;
            verificationArgumentsFromReceiver.Signature  = signatureCreationResult.Signature;
            verificationArgumentsFromReceiver.PublicKeyForSignatureVerification = keyPairGenerationResultSender.PublicKeyOnlyXml;
            verificationArgumentsFromReceiver.FullKeyForDecryption = keyPairGenerationResultReceiver.FullKeyPairXml;
            var verificationResult = digitalSignatureService.VerifySignature(verificationArgumentsFromReceiver);

            Assert.AreEqual(true, verificationResult.Success);
            Assert.AreEqual(true, verificationResult.SignaturesMatch);
        }