Exemple #1
0
 public X509Extension(
     DERBoolean critical,
     ASN1OctetString value)
 {
     this.critical = critical.isTrue();
     this.value    = value;
 }
        public static SimplePagedResultsControl ExtractControl(ICollection <byte> buffer)
        {
            var result = new SimplePagedResultsControl();

            result.Criticality = DERBoolean.Extract(buffer);
            var controlValue = DEROctetString.Extract(buffer);

            result.ControlValue = RealSearchControlValue.Extract(controlValue.Payload);
            return(result);
        }
Exemple #3
0
        public static SearchRequest Extract(ICollection <byte> buffer)
        {
            var searchRequest = new SearchRequest();

            searchRequest.BaseObject = DEROctetString.Extract(buffer);
            searchRequest.Scope      = DEREnumerated <SearchRequestScopes> .Extract(buffer);

            searchRequest.DeferAlias = DEREnumerated <SearchRequestDeferAliases> .Extract(buffer);

            searchRequest.SizeLimit  = DERInteger.Extract(buffer);
            searchRequest.TimeLimit  = DERInteger.Extract(buffer);
            searchRequest.TypesOnly  = DERBoolean.Extract(buffer);
            searchRequest.Filter     = SearchRequestFilter.Extract(buffer);
            searchRequest.Attributes = DERSequence <DEROctetString> .Extract(buffer);

            return(searchRequest);
        }
Exemple #4
0
        public static ModifyDNRequest Extract(ICollection <byte> buffer)
        {
            var result = new ModifyDNRequest();

            result.Entry        = DEROctetString.Extract(buffer);
            result.NewRDN       = DEROctetString.Extract(buffer);
            result.DeleteOldRDN = DERBoolean.Extract(buffer);
            var newSuperior = new DEROctetString();

            newSuperior.ExtractTagAndLength(buffer);
            if (newSuperior.Length > 0)
            {
                var valueBuffer = buffer.Dequeue(newSuperior.Length);
                newSuperior.Value  = Encoding.ASCII.GetString(valueBuffer.ToArray());
                result.NewSuperior = newSuperior;
            }

            return(result);
        }
Exemple #5
0
        /**
         * Constructor from ASN1Sequence
         */
        public IssuingDistributionPoint(
            ASN1Sequence seq)
        {
            this.seq = seq;

            for (int i = 0; i != seq.size(); i++)
            {
                ASN1TaggedObject o = (ASN1TaggedObject)seq.getObjectAt(i);

                switch ((int)o.getTagNo())
                {
                case 0:
                    break;

                case 1:
                    _onlyContainsUserCerts = DERBoolean.getInstance(o, false).isTrue();
                    break;

                case 2:
                    _onlyContainsCACerts = DERBoolean.getInstance(o, false).isTrue();
                    break;

                case 3:
                    break;

                case 4:
                    _indirectCRL = DERBoolean.getInstance(o, false).isTrue();
                    break;

                case 5:
                    _onlyContainsAttributeCerts = DERBoolean.getInstance(o, false).isTrue();
                    break;

                default:
                    throw new ArgumentException("unknown tag in IssuingDistributionPoint");
                }
            }
        }