Beispiel #1
0
        public void CertificadoDigital_ComListaTesteExpirados_DeveDarErro()
        {
            // arrange
            var(expirados, _, _) = CertificadoDigitalTestsContext.GetListaParaValidar();
            var options = new CertificadoDigitalOptions();

            foreach (var file in expirados)
            {
                if (file.EndsWith(".pdf"))
                {
                    var buffer = ObterCertificadoFromPdf(file);
                    using var certificado = new X509Certificate2(buffer);
                    // act
                    var result = CertificadoDigital.Processar(certificado, options);
                    // assert
                    result.Should().NotBeNull();
                    result.Erro.Should().BeTrue();
                }
                else
                {
                    using var certificado = new X509Certificate2(file);
                    // act
                    var result = CertificadoDigital.Processar(certificado, options);
                    // assert
                    result.Should().NotBeNull();
                    result.Erro.Should().BeTrue();
                }
            }
        }
Beispiel #2
0
        public void CertificadoDigital_SemCertificado_ShouldThrow()
        {
            var options = new CertificadoDigitalOptions();

            // act
            Action act = () => CertificadoDigital.Processar(certificado: null !, options);

            // assert
            act.Should().Throw <ArgumentNullException>()
            .And.Message.Should().Contain("certificado");
        }
Beispiel #3
0
        public void CertificadoDigital_ComECpfValido_DeveFuncionar()
        {
            // arrange
            var certificado = ObterCertificado(CertificadoTipo.FileECpfValido);
            var options     = new CertificadoDigitalOptions();

            // act
            var result = CertificadoDigital.Processar(certificado, options);

            // assert
            result.Should().NotBeNull();
            result.Erro.Should().BeFalse();
        }
Beispiel #4
0
        public void CertificadoDigital_ComECnpjValido_DeveFuncionar()
        {
            // arrange
            using var certificado = new X509Certificate2(CnpjCerPath);
            var options = new CertificadoDigitalOptions()
            {
                ValidarCadeia = true
            };

            // act
            var result = CertificadoDigital.Processar(certificado, options);

            // assert
            result.Should().NotBeNull();
            result.Erro.Should().BeFalse();
        }
Beispiel #5
0
        public void CertificadoDigital_ComECnpjEmBytes_DeveFuncionar()
        {
            // arrange
            var certificado = ObterCertificado(CertificadoTipo.ECnpjString);
            var options     = new CertificadoDigitalOptions()
            {
                ValidarCadeia = false
            };

            // act
            var result = CertificadoDigital.Processar(certificado, options);

            // assert
            result.Should().NotBeNull();
            result.Erro.Should().BeFalse();
        }
Beispiel #6
0
        public void CertificadoDigital_ComECpfExpirado_DeveRetornarComErro()
        {
            // arrange
            var certificado = ObterCertificado(CertificadoTipo.FileECpfExpirado);
            var options     = new CertificadoDigitalOptions();

            // act
            var result = CertificadoDigital.Processar(certificado, options);

            // assert
            result.TipoCertificado.Should().Be(TipoCertificado.Invalido);
            result.Erro.Should().BeTrue();
            result.ErroMensagem.Should().Be(CertificadoException.GetErrorMessage(CertificadoException.CertificadoExceptionTipo.CertificadoExpirado));
            result.PessoaJuridica.Should().BeNull();
            result.PessoaFisica.Should().BeNull();
            result.CadeiaValida.Should().BeFalse();
            result.IcpBrasil.Should().BeFalse();
        }
Beispiel #7
0
        public void CertificadoDigital_CertificadoNaoIcp_DeveRetornarComErro()
        {
            // arrange
            using var certificado = new X509Certificate2(SelfSignedPath, SelfSignedPassword, X509KeyStorageFlags.EphemeralKeySet);
            var options = new CertificadoDigitalOptions();

            // act
            var result = CertificadoDigital.Processar(certificado !, options);

            // assert
            result.TipoCertificado.Should().Be(TipoCertificado.Invalido);
            result.Erro.Should().BeTrue();
            result.ErroMensagem.Should().NotBeNullOrEmpty();
            result.PessoaJuridica.Should().BeNull();
            result.PessoaFisica.Should().BeNull();
            result.RawCertDataString.Should().NotBeNullOrEmpty();
            result.CadeiaValida.Should().BeFalse();
            result.IcpBrasil.Should().BeFalse();
        }
Beispiel #8
0
        public void CertificadoDigital_CertificadoInvalido_DeveRetornarTipoInvalido()
        {
            // arrange
            using var certificado = new X509Certificate2();
            var options = new CertificadoDigitalOptions();

            // act
            var result = CertificadoDigital.Processar(certificado !, options);

            // assert
            result.TipoCertificado.Should().Be(TipoCertificado.Invalido);
            result.Erro.Should().BeTrue();
            result.ErroMensagem.Should().NotBeNullOrEmpty();
            result.PessoaJuridica.Should().BeNull();
            result.PessoaFisica.Should().BeNull();
            result.RawCertDataString.Should().BeNull();
            result.CadeiaValida.Should().BeFalse();
            result.IcpBrasil.Should().BeFalse();
        }
Beispiel #9
0
        public void CertificadoDigital_ComListaTesteInvalidos_DeveDarErro()
        {
            // arrange
            var(_, _, invalidos) = CertificadoDigitalTestsContext.GetListaParaValidar();
            var options = new CertificadoDigitalOptions {
                ValidarRevogacao = false, ValidarRaizConfiavel = false
            };

            foreach (var file in invalidos)
            {
                if (!file.EndsWith(".pfx"))
                {
                    continue;
                }
                using var certificado = new X509Certificate2(file, PfxPassword, X509KeyStorageFlags.EphemeralKeySet);
                // act
                var result = CertificadoDigital.Processar(certificado, options);
                // assert
                result.Should().NotBeNull();
                result.Erro.Should().BeTrue();
            }
        }
Beispiel #10
0
        public void CertificadoDigital_CertificadoNaoIcpSemValidarCadeia_DeveFuncionar()
        {
            // arrange
            File.Exists(SelfSignedPath).Should().BeTrue();
            using var certificado = new X509Certificate2(SelfSignedPath, SelfSignedPassword, X509KeyStorageFlags.EphemeralKeySet);
            var options = new CertificadoDigitalOptions()
            {
                ValidarCadeia = false
            };

            // act
            var result = CertificadoDigital.Processar(certificado !, options);

            // assert
            result.TipoCertificado.Should().Be(TipoCertificado.Outro);
            result.Erro.Should().BeFalse();
            result.CadeiaValida.Should().BeFalse();
            result.IcpBrasil.Should().BeFalse();
            result.PessoaFisica.Should().BeNull();
            result.PessoaJuridica.Should().BeNull();
            result.RawCertDataString.Should().BeEquivalentTo(certificado.GetRawCertDataString());
        }