public SshKeyProvider(EncodingWrapper encoding, Base64Wrapper base64, IRsaKeyProvider rsaKeyProvider, IDsaKeyProvider dsaKeyProvider, IEcKeyProvider ecKeyProvider, SecureRandomGenerator randomGenerator) { this.encoding = encoding; this.base64 = base64; this.rsaKeyProvider = rsaKeyProvider; this.dsaKeyProvider = dsaKeyProvider; this.ecKeyProvider = ecKeyProvider; this.randomGenerator = randomGenerator; sshSupportedCurves = new [] { new [] { "curve25519" }, new [] { "P-256", "secp256r1", "prime256v1" }, new [] { "P-384", "secp384r1" }, new [] { "P-521", "secp521r1" } }; sshCurveHeaders = new Dictionary <string, string> { { "curve25519", "ssh-ed25519" }, { "P-256", "ecdsa-sha2-nistp256" }, { "P-384", "ecdsa-sha2-nistp384" }, { "P-521", "ecdsa-sha2-nistp521" } }; sshCurveIdentifiers = new Dictionary <string, string> { { "curve25519", "ed25519" }, { "P-256", "nistp256" }, { "P-384", "nistp384" }, { "P-521", "nistp521" } }; }
public void VerifySignatureTestSetup() { file = new Mock <FileWrapper>(); file.Setup(f => f.ReadAllBytes(It.IsAny <string>())) .Returns <string>(givenFile => files[givenFile]); console = new Mock <ConsoleWrapper>(); Container container = ContainerProvider.GetContainer(); container.Register <FileWrapper>(() => file.Object); container.Register <ConsoleWrapper>(() => console.Object); var asymmetricKeyPairGenerator = new AsymmetricKeyPairGenerator(new SecureRandomGenerator()); var primeMapper = new Rfc3526PrimeMapper(); var curveNameMapper = new FieldToCurveNameMapper(); rsaKeyProvider = new RsaKeyProvider(asymmetricKeyPairGenerator); dsaKeyProvider = new DsaKeyProvider(asymmetricKeyPairGenerator); ecKeyProvider = new EcKeyProvider(asymmetricKeyPairGenerator, curveNameMapper); elGamalKeyProvider = new ElGamalKeyProvider(asymmetricKeyPairGenerator, primeMapper); signatureProvider = new SignatureProvider(new SignatureAlgorithmIdentifierMapper(), new SecureRandomGenerator(), new SignerUtilitiesWrapper()); pkcs8PemFormatter = new Pkcs8PemFormattingProvider(new AsymmetricKeyProvider(new OidToCipherTypeMapper(), new KeyInfoWrapper(), rsaKeyProvider, dsaKeyProvider, ecKeyProvider, elGamalKeyProvider)); base64 = new Base64Wrapper(); encoding = new EncodingWrapper(); random = new SecureRandomGenerator(); }
public SignatureCommandActivationProvider(ICommandExecutor commandExecutor, SignatureCommandProvider signatureCommandProvider, FileCommandProvider fileCommandProvider, EncodingWrapper encoding, Base64Wrapper base64) { this.commandExecutor = commandExecutor; this.signatureCommandProvider = signatureCommandProvider; this.fileCommandProvider = fileCommandProvider; this.encoding = encoding; this.base64 = base64; }
public void SetupSshKeyProviderTest() { encoding = new EncodingWrapper(); keyPairGenerator = new AsymmetricKeyPairGenerator(new SecureRandomGenerator()); ecKeyProvider = new EcKeyProvider(keyPairGenerator, new FieldToCurveNameMapper()); provider = new SshKeyProvider(encoding, new Base64Wrapper(), Mock.Of <IRsaKeyProvider>(), Mock.Of <IDsaKeyProvider>(), ecKeyProvider, new SecureRandomGenerator()); base64 = new Base64Wrapper(); }
public SshFormattingProvider(ISshKeyProvider sshKeyProvider, EncodingWrapper encoding, Ssh2ContentFormatter ssh2ContentFormatter, OpenSshContentFormatter openSshContentFormatter, Base64Wrapper base64) { this.sshKeyProvider = sshKeyProvider; this.encoding = encoding; this.ssh2ContentFormatter = ssh2ContentFormatter; this.openSshContentFormatter = openSshContentFormatter; this.base64 = base64; supportedSshHeaders = new[] { "---- BEGIN SSH2 PUBLIC", "ssh-rsa ", "ssh-dss ", "ssh-ed25519 ", "ecdsa-sha2-nistp256 ", "ecdsa-sha2-nistp384 ", "ecdsa-sha2-nistp521 " }; }
public void Setup() { decoratedCommandHandler = new Mock <ICommandHandler <WriteFileCommand <Signature> > >(); base64 = new Base64Wrapper(); decorator = new WriteToFileBase64FormattingDecorator <WriteFileCommand <Signature> >(decoratedCommandHandler.Object, base64, new EncodingWrapper()); signature = new Signature { Content = Encoding.Default.GetBytes("foobar") }; command = new WriteFileCommand <Signature> { Out = signature }; decorator.Execute(command); }
public void SetupGetAsDer() { var secureRandom = new SecureRandomGenerator(); var asymmetricKeyPairGenerator = new AsymmetricKeyPairGenerator(secureRandom); var rsaKeyProvider = new RsaKeyProvider(asymmetricKeyPairGenerator); var dsaKeyProvider = new DsaKeyProvider(asymmetricKeyPairGenerator); var ecKeyProvier = new EcKeyProvider(asymmetricKeyPairGenerator, new FieldToCurveNameMapper()); var keyPair = rsaKeyProvider.CreateKeyPair(1024); var key = keyPair.PublicKey; var encoding = new EncodingWrapper(); var base64 = new Base64Wrapper(); var sshKeyProvider = new SshKeyProvider(encoding, base64, rsaKeyProvider, dsaKeyProvider, ecKeyProvier, null); var formattingProvider = new SshFormattingProvider(sshKeyProvider, encoding, new Ssh2ContentFormatter(), null, base64); ssh2Key = formattingProvider.GetAsSsh2PublicKey(key, "foo"); keyContent = sshKeyProvider.GetRsaPublicKeyContent(key); openSshKey = formattingProvider.GetAsOpenSshPublicKey(key, "foo"); }
public WriteToStdOutBase64FormattingDecorator(ICommandHandler <T> decoratedCommandHandler, Base64Wrapper base64) { this.decoratedCommandHandler = decoratedCommandHandler; this.base64 = base64; }
public WriteToFileBase64FormattingDecorator(ICommandHandler <T> decoratedCommandHandler, Base64Wrapper base64, EncodingWrapper encoding) { this.decoratedCommandHandler = decoratedCommandHandler; this.base64 = base64; this.encoding = encoding; }