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); }
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); }