Ejemplo n.º 1
0
        public async Task ValidateCertificateNotExisting()
        {
            using (var dirServer = TempDirectory.Create("Server"))
                using (var dirClient = TempDirectory.Create("Client", false))
                {
                    var storeServer = new DirectoryStore(dirServer.Name, createLocalCertificateIfNotExist: true);
                    var storeClient = new DirectoryStore(dirClient.Name, acceptAllRemoteCertificates: false);

                    var server = new ApplicationDescription
                    {
                        ApplicationUri = "http://hostname/server",
                    };

                    // First we create a certificate
                    var(cert, _) = await storeServer.GetLocalCertificateAsync(server);

                    // The certificate is not in the expected directory
                    // hence it should not be accepted
                    var ret = await storeClient.ValidateRemoteCertificateAsync(cert);

                    ret
                    .Should().BeFalse();

                    Directory.EnumerateFiles(dirClient.Name + @"/rejected")
                    .Should().HaveCount(1);
                }
        }
Ejemplo n.º 2
0
        public async Task ValidateCertificateExisting()
        {
            using (var dirServer = TempDirectory.Create("Server"))
                using (var dirClient = TempDirectory.Create("Client"))
                {
                    var storeServer = new DirectoryStore(dirServer.Name, createLocalCertificateIfNotExist: true);
                    var storeClient = new DirectoryStore(dirClient.Name, acceptAllRemoteCertificates: false);

                    var server = new ApplicationDescription
                    {
                        ApplicationUri = "http://hostname/server",
                    };

                    // First we create a certificate
                    var(cert, _) = await storeServer.GetLocalCertificateAsync(server);

                    CopyAll(dirServer.Name + @"/own/certs", dirClient.Name + @"/trusted");

                    // The certificate is now in the expected directory
                    // hence it should be accepted
                    var ret = await storeClient.ValidateRemoteCertificateAsync(cert);

                    ret
                    .Should().BeTrue();
                }
        }
Ejemplo n.º 3
0
        public async Task ValidateCertificateAcceptAll()
        {
            using (var dir = TempDirectory.Create())
            {
                var store = new DirectoryStore(dir.Name, acceptAllRemoteCertificates: true);

                var ret = await store.ValidateRemoteCertificateAsync(null);

                ret
                .Should().BeTrue();
            }
        }