public RSAKeysTypes GenerateKeys(RSAKeySize rsaKeySize) { int keySize = (int)rsaKeySize; if (keySize % 2 != 0 || keySize < 512) { throw new Exception("Key should be multiple of two and greater than 512."); } var rsaKeysTypes = new RSAKeysTypes(); using (var provider = new RSACryptoServiceProvider(keySize)) { var publicKey = provider.ToXmlString(false); var privateKey = provider.ToXmlString(true); var publicKeyWithSize = IncludeKeyInEncryptionString(publicKey, keySize); var privateKeyWithSize = IncludeKeyInEncryptionString(privateKey, keySize); rsaKeysTypes.PublicKey = publicKeyWithSize; rsaKeysTypes.PrivateKey = privateKeyWithSize; } return(rsaKeysTypes); }
public RSAKeysTypes GenerateKeys(RSAKeySize rsaKeySize) { int keySize = (int)rsaKeySize; if (keySize % 2 != 0 || keySize < 512) { throw new Exception("Ключ должен быть кратен 2!"); } var rsaKeysTypes = new RSAKeysTypes(); using (var provider = new RSACryptoServiceProvider(keySize)) { var publicKey = provider.ToXmlString(false); var privateKey = provider.ToXmlString(true); var publicKeyWithSize = IncludeKeyInEncryptionString(publicKey); var privateKeyWithSize = IncludeKeyInEncryptionString(privateKey); rsaKeysTypes.PublicKey = publicKeyWithSize; rsaKeysTypes.PrivateKey = privateKeyWithSize; } return(rsaKeysTypes); }