public void Read_WithAnyPolicyIdentifierAndNoPolicyQualifier_ReturnsPolicyInformation()
        {
            var bcPolicyInformation = new BcPolicyInformation(new DerObjectIdentifier(Oids.AnyPolicy));
            var bytes = bcPolicyInformation.GetDerEncoded();

            var policyInformation = PolicyInformation.Read(bytes);

            Assert.Equal(Oids.AnyPolicy, policyInformation.PolicyIdentifier.Value);
            Assert.Null(policyInformation.PolicyQualifiers);
        }
        public void Read_WithOnlyPolicyIdentifier_ReturnsPolicyInformation()
        {
            var policyId            = "1.2.3";
            var bcPolicyInformation = new BcPolicyInformation(new DerObjectIdentifier(policyId));
            var bytes = bcPolicyInformation.GetDerEncoded();

            var policyInformation = PolicyInformation.Read(bytes);

            Assert.Equal(policyId, policyInformation.PolicyIdentifier.Value);
            Assert.Null(policyInformation.PolicyQualifiers);
        }
        public void Read_WithAnyPolicyIdentifierAndIdQtCpsPolicyQualifier_ReturnsPolicyInformation()
        {
            var cpsUri = new DerIA5String("http://test.test");
            var bcPolicyInformation = new BcPolicyInformation(
                new DerObjectIdentifier(Oids.AnyPolicy),
                new DerSequence(new BcPolicyQualifierInfo(new DerObjectIdentifier(Oids.IdQtCps), cpsUri)));
            var bytes = bcPolicyInformation.GetDerEncoded();

            var policyInformation = PolicyInformation.Read(bytes);

            Assert.Equal(Oids.AnyPolicy, policyInformation.PolicyIdentifier.Value);
            Assert.Equal(1, policyInformation.PolicyQualifiers.Count);
            Assert.Equal(cpsUri.GetDerEncoded(), policyInformation.PolicyQualifiers[0].Qualifier);
        }
示例#4
0
        public void Read_WithPolicyInformation_ReturnsSigningCertificateV2()
        {
            var bcEssCertIdV2          = CreateBcEssCertIdV2(HashAlgorithmName.SHA256, "1");
            var bcPolicyInfo           = new BcPolicyInformation(new DerObjectIdentifier(Oids.AnyPolicy));
            var bcSigningCertificateV2 = new BcSigningCertificateV2(
                new[] { bcEssCertIdV2 }, new[] { bcPolicyInfo });
            var bytes = bcSigningCertificateV2.GetDerEncoded();

            var signingCertificate = SigningCertificateV2.Read(bytes);

            Assert.Equal(1, signingCertificate.Certificates.Count);
            Assert.Equal(1, signingCertificate.Policies.Count);

            var policyInfo = signingCertificate.Policies[0];

            Assert.Equal(bcPolicyInfo.PolicyIdentifier.ToString(), policyInfo.PolicyIdentifier.Value);
            Assert.Null(policyInfo.PolicyQualifiers);
        }
        public void Read_WithPolicyInformation_ReturnsSigningCertificate()
        {
            var bcEssCertId          = CreateBcEssCertId("1");
            var bcPolicyInfo         = new BcPolicyInformation(new DerObjectIdentifier(Oids.AnyPolicy));
            var bcSigningCertificate = new BcSigningCertificate(
                new DerSequence(new DerSequence(bcEssCertId), new DerSequence(bcPolicyInfo)));
            var bytes = bcSigningCertificate.GetDerEncoded();

            var signingCertificate = SigningCertificate.Read(bytes);

            Assert.Equal(1, signingCertificate.Certificates.Count);
            Assert.Equal(1, signingCertificate.Policies.Count);

            var policyInfo = signingCertificate.Policies[0];

            Assert.Equal(bcPolicyInfo.PolicyIdentifier.ToString(), policyInfo.PolicyIdentifier.Value);
            Assert.Null(policyInfo.PolicyQualifiers);
        }