public void Setup()
            {
                privateKey = Mock.Of <IAsymmetricKey>();
                publicKey  = Mock.Of <IAsymmetricKey>();

                createdKeyPair = new AsymmetricKeyPair(privateKey, publicKey);
                commandExecutor.Setup(c => c.Execute(It.IsAny <object>()))
                .Callback <object>(c =>
                {
                    if (c is WriteFileCommand <IAsymmetricKey> || c is WriteFileCommand <IAsymmetricKeyPair> )
                    {
                        return;
                    }

                    ((ICreateAsymmetricKeyCommand)c).Result = createdKeyPair;
                });

                arguments = new ApplicationArguments
                {
                    KeySize        = 1024,
                    EncryptionType = EncryptionType.Pkcs,
                    PrivateKeyPath = "private.pem",
                    PublicKeyPath  = "public.pem",
                    ContentType    = ContentType.Pem,
                    KeyType        = CipherType.Rsa
                };

                provider.CreateKeyPair(arguments);
            }
Ejemplo n.º 2
0
        public void Setup()
        {
            privateKey = new RsaKey(null, AsymmetricKeyType.Encrypted, 4096);
            publicKey  = new RsaKey(null, AsymmetricKeyType.Public, 2048);

            keyPair = new AsymmetricKeyPair(privateKey, publicKey);
        }
Ejemplo n.º 3
0
        public VpnCredentials(string username, string password, string clientCertPem, AsymmetricKeyPair clientKeyPair)
            : this(username, password)
        {
            Ensure.NotNull(clientKeyPair, nameof(clientKeyPair));

            ClientCertPem = clientCertPem;
            ClientKeyPair = clientKeyPair;
        }
Ejemplo n.º 4
0
                public void GivenKeysAreNotKeyPair()
                {
                    IAsymmetricKeyPair invalidKeyPair = new AsymmetricKeyPair(keyPair.PrivateKey, keyProvider.CreateKeyPair(1024).PublicKey);

                    bool result = keyProvider.VerifyKeyPair(invalidKeyPair);

                    Assert.IsFalse(result);
                }
Ejemplo n.º 5
0
        public void RegenerateKeyPair()
        {
            AsymmetricKeyPair asymmetricKeyPair = _ed25519Asn1KeyGenerator.Generate();

            _appSettings.AuthenticationPublicKey = asymmetricKeyPair.PublicKey.Base64;
            _appSettings.AuthenticationSecretKey = asymmetricKeyPair.SecretKey.Base64;
            _logger.Info("New auth key pair successfully generated and saved.");
        }
Ejemplo n.º 6
0
        public static PgpKeyPair Convert(PublicKeyAlgorithmTag algorithmTag, AsymmetricKeyPair <AsymmetricRsaPublicKey, AsymmetricRsaPrivateKey> kp, DateTime date)
        {
            PublicKeyPacket pubPacket = new PublicKeyPacket(algorithmTag, date, new RsaPublicBcpgKey(kp.PublicKey.Modulus, kp.PublicKey.PublicExponent));

            PgpPublicKey  pubKey  = new PgpPublicKey(pubPacket, new PgpKeyFingerprintCalculator());
            PgpPrivateKey privKey = new PgpPrivateKey(pubKey.KeyId, pubPacket, new RsaSecretBcpgKey(kp.PrivateKey.PrivateExponent, kp.PrivateKey.P, kp.PrivateKey.Q));

            return(new PgpKeyPair(pubKey, privKey));
        }
Ejemplo n.º 7
0
        public void TestGenerate()
        {
            AsymmetricKeyPair result = _generator.Generate();

            int secretKeyHeaderLength = Ed25519Asn1KeyGenerator.SecretKeyAsn1Header.Length;

            Assert.AreEqual(KeyAlgorithm.Ed25519, result.SecretKey.Algorithm);
            Assert.AreEqual(secretKeyHeaderLength + 32, result.SecretKey.Bytes.Length);
            CollectionAssert.AreEqual(Ed25519Asn1KeyGenerator.SecretKeyAsn1Header, result.SecretKey.Bytes.Take(secretKeyHeaderLength).ToArray());

            int publicKeyHeaderLength = Ed25519Asn1KeyGenerator.PublicKeyAsn1Header.Length;

            Assert.AreEqual(KeyAlgorithm.Ed25519, result.PublicKey.Algorithm);
            Assert.AreEqual(publicKeyHeaderLength + 32, result.PublicKey.Bytes.Length);
            CollectionAssert.AreEqual(Ed25519Asn1KeyGenerator.PublicKeyAsn1Header, result.PublicKey.Bytes.Take(publicKeyHeaderLength).ToArray());
        }
Ejemplo n.º 8
0
        public async Task <AuthCredential> GenerateAsync()
        {
            AsymmetricKeyPair keyPair        = _authKeyManager.GetKeyPairOrNull();
            string            certificatePem = _appSettings.AuthenticationCertificatePem;

            if (keyPair == null)
            {
                _logger.Info("AuthCredentialManager: Missing auth key pair, requesting new keys and certificate.");
                await _authCertificateManager.ForceRequestNewKeyPairAndCertificateAsync();

                keyPair        = _authKeyManager.GetKeyPairOrNull();
                certificatePem = _appSettings.AuthenticationCertificatePem;
            }
            else if (certificatePem == null)
            {
                _logger.Info("AuthCredentialManager: Auth keys are present but certificate is missing, requesting new certificate.");
                await _authCertificateManager.ForceRequestNewCertificateAsync();

                keyPair        = _authKeyManager.GetKeyPairOrNull();
                certificatePem = _appSettings.AuthenticationCertificatePem;
            }

            return(new AuthCredential(keyPair, certificatePem));
        }
Ejemplo n.º 9
0
 public AsymmetricKeyPairContract(AsymmetricKeyPair asymmetricKeyPair)
 {
     SecretKey = new SecretKeyContract(asymmetricKeyPair.SecretKey);
     PublicKey = new PublicKeyContract(asymmetricKeyPair.PublicKey);
 }
Ejemplo n.º 10
0
 public AuthCredential(AsymmetricKeyPair keyPair, string certificatePem)
 {
     KeyPair        = keyPair;
     CertificatePem = certificatePem;
 }