| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- namespace Renci.SshNet.IntegrationTests
- {
- public class AuthenticationMethodFactory
- {
- public PasswordAuthenticationMethod CreatePowerUserPasswordAuthenticationMethod()
- {
- var user = Users.Admin;
- return new PasswordAuthenticationMethod(user.UserName, user.Password);
- }
- public PrivateKeyAuthenticationMethod CreateRegularUserPrivateKeyAuthenticationMethod()
- {
- var privateKeyFile = GetPrivateKey("Renci.SshNet.IntegrationTests.resources.client.id_rsa");
- return new PrivateKeyAuthenticationMethod(Users.Regular.UserName, privateKeyFile);
- }
- public PrivateKeyAuthenticationMethod CreateRegularUserMultiplePrivateKeyAuthenticationMethod()
- {
- var privateKeyFile1 = GetPrivateKey("Renci.SshNet.IntegrationTests.resources.client.id_rsa");
- var privateKeyFile2 = GetPrivateKey("Renci.SshNet.IntegrationTests.resources.client.id_rsa");
- return new PrivateKeyAuthenticationMethod(Users.Regular.UserName, privateKeyFile1, privateKeyFile2);
- }
- public PrivateKeyAuthenticationMethod CreateRegularUserPrivateKeyWithPassPhraseAuthenticationMethod()
- {
- var privateKeyFile = GetPrivateKey("Renci.SshNet.IntegrationTests.resources.client.id_rsa_with_pass", "tester");
- return new PrivateKeyAuthenticationMethod(Users.Regular.UserName, privateKeyFile);
- }
- public PrivateKeyAuthenticationMethod CreateRegularUserPrivateKeyWithEmptyPassPhraseAuthenticationMethod()
- {
- var privateKeyFile = GetPrivateKey("Renci.SshNet.IntegrationTests.resources.client.id_rsa_with_pass", null);
- return new PrivateKeyAuthenticationMethod(Users.Regular.UserName, privateKeyFile);
- }
- public PrivateKeyAuthenticationMethod CreateRegularUserPrivateKeyAuthenticationMethodWithBadKey()
- {
- var privateKeyFile = GetPrivateKey("Renci.SshNet.IntegrationTests.resources.client.id_noaccess.rsa");
- return new PrivateKeyAuthenticationMethod(Users.Regular.UserName, privateKeyFile);
- }
- public PasswordAuthenticationMethod CreateRegulatUserPasswordAuthenticationMethod()
- {
- return new PasswordAuthenticationMethod(Users.Regular.UserName, Users.Regular.Password);
- }
- public PasswordAuthenticationMethod CreateRegularUserPasswordAuthenticationMethodWithBadPassword()
- {
- return new PasswordAuthenticationMethod(Users.Regular.UserName, "xxx");
- }
- public KeyboardInteractiveAuthenticationMethod CreateRegularUserKeyboardInteractiveAuthenticationMethod()
- {
- var keyboardInteractive = new KeyboardInteractiveAuthenticationMethod(Users.Regular.UserName);
- keyboardInteractive.AuthenticationPrompt += (sender, args) =>
- {
- foreach (var authenticationPrompt in args.Prompts)
- {
- authenticationPrompt.Response = Users.Regular.Password;
- }
- };
- return keyboardInteractive;
- }
- private PrivateKeyFile GetPrivateKey(string resourceName, string passPhrase = null)
- {
- using (var stream = GetResourceStream(resourceName))
- {
- return new PrivateKeyFile(stream, passPhrase);
- }
- }
- private Stream GetResourceStream(string resourceName)
- {
- var type = GetType();
- var resourceStream = type.Assembly.GetManifestResourceStream(resourceName);
- if (resourceStream == null)
- {
- throw new ArgumentException($"Resource '{resourceName}' not found in assembly '{type.Assembly.FullName}'.", nameof(resourceName));
- }
- return resourceStream;
- }
- }
- }
|