private X509Extensions(Asn1Sequence seq) { //IL_0069: Unknown result type (might be due to invalid IL or missing references) ordering = Platform.CreateArrayList(); global::System.Collections.IEnumerator enumerator = seq.GetEnumerator(); try { while (enumerator.MoveNext()) { Asn1Encodable asn1Encodable = (Asn1Encodable)enumerator.get_Current(); Asn1Sequence instance = Asn1Sequence.GetInstance(asn1Encodable.ToAsn1Object()); if (instance.Count < 2 || instance.Count > 3) { throw new ArgumentException(string.Concat((object)"Bad sequence size: ", (object)instance.Count)); } DerObjectIdentifier instance2 = DerObjectIdentifier.GetInstance(instance[0].ToAsn1Object()); bool critical = instance.Count == 3 && DerBoolean.GetInstance(instance[1].ToAsn1Object()).IsTrue; Asn1OctetString instance3 = Asn1OctetString.GetInstance(instance[instance.Count - 1].ToAsn1Object()); extensions.Add((object)instance2, (object)new X509Extension(critical, instance3)); ordering.Add((object)instance2); } } finally { global::System.IDisposable disposable = enumerator as global::System.IDisposable; if (disposable != null) { disposable.Dispose(); } } }
private IssuingDistributionPoint(Asn1Sequence seq) { //IL_00c0: Unknown result type (might be due to invalid IL or missing references) this.seq = seq; for (int i = 0; i != seq.Count; i++) { Asn1TaggedObject instance = Asn1TaggedObject.GetInstance(seq[i]); switch (instance.TagNo) { case 0: _distributionPoint = DistributionPointName.GetInstance(instance, explicitly: true); break; case 1: _onlyContainsUserCerts = DerBoolean.GetInstance(instance, isExplicit: false).IsTrue; break; case 2: _onlyContainsCACerts = DerBoolean.GetInstance(instance, isExplicit: false).IsTrue; break; case 3: _onlySomeReasons = new ReasonFlags(DerBitString.GetInstance(instance, isExplicit: false)); break; case 4: _indirectCRL = DerBoolean.GetInstance(instance, isExplicit: false).IsTrue; break; case 5: _onlyContainsAttributeCerts = DerBoolean.GetInstance(instance, isExplicit: false).IsTrue; break; default: throw new ArgumentException("unknown tag in IssuingDistributionPoint"); } } }
private TimeStampReq(Asn1Sequence seq) { int count = seq.Count; int num = 0; this.version = DerInteger.GetInstance(seq[num++]); this.messageImprint = MessageImprint.GetInstance(seq[num++]); for (int i = num; i < count; i++) { if (seq[i] is DerObjectIdentifier) { this.tsaPolicy = DerObjectIdentifier.GetInstance(seq[i]); } else if (seq[i] is DerInteger) { this.nonce = DerInteger.GetInstance(seq[i]); } else if (seq[i] is DerBoolean) { this.certReq = DerBoolean.GetInstance(seq[i]); } else if (seq[i] is Asn1TaggedObject) { Asn1TaggedObject asn1TaggedObject = (Asn1TaggedObject)seq[i]; if (asn1TaggedObject.TagNo == 0) { this.extensions = X509Extensions.GetInstance(asn1TaggedObject, false); } } } }
private X509Extensions(Asn1Sequence seq) { this.extensions = Platform.CreateHashtable(); this.ordering = Platform.CreateArrayList(); IEnumerator enumerator = seq.GetEnumerator(); try { while (enumerator.MoveNext()) { Asn1Sequence instance = Asn1Sequence.GetInstance(((Asn1Encodable)enumerator.Current).ToAsn1Object()); if ((instance.Count < 2) || (instance.Count > 3)) { throw new ArgumentException("Bad sequence size: " + instance.Count); } DerObjectIdentifier key = DerObjectIdentifier.GetInstance(instance[0].ToAsn1Object()); bool critical = (instance.Count == 3) && DerBoolean.GetInstance(instance[1].ToAsn1Object()).IsTrue; Asn1OctetString str = Asn1OctetString.GetInstance(instance[instance.Count - 1].ToAsn1Object()); this.extensions.Add(key, new X509Extension(critical, str)); this.ordering.Add(key); } } finally { if (enumerator is IDisposable disposable) { IDisposable disposable; disposable.Dispose(); } } }
public BasicConstraints(bool cA) { if (cA) { this.cA = DerBoolean.True; } }
public MetaData(DerBoolean hashProtected, DerUtf8String fileName, DerIA5String mediaType, Attributes otherMetaData) { this.hashProtected = hashProtected; this.fileName = fileName; this.mediaType = mediaType; this.otherMetaData = otherMetaData; }
private BasicConstraints( Asn1Sequence seq) { if (seq.Count > 0) { if (seq[0] is DerBoolean) { this.cA = DerBoolean.GetInstance(seq[0]); } else { this.pathLenConstraint = DerInteger.GetInstance(seq[0]); } if (seq.Count > 1) { if (this.cA == null) { throw new ArgumentException("wrong sequence in constructor", "seq"); } this.pathLenConstraint = DerInteger.GetInstance(seq[1]); } } }
/** * Constructor from Asn1Sequence. * * the extensions are a list of constructed sequences, either with (Oid, OctetString) or (Oid, Boolean, OctetString) */ private X509Extensions( Asn1Sequence seq) { this.ordering = BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Platform.CreateArrayList(); foreach (Asn1Encodable ae in seq) { Asn1Sequence s = Asn1Sequence.GetInstance(ae.ToAsn1Object()); if (s.Count < 2 || s.Count > 3) { throw new ArgumentException("Bad sequence size: " + s.Count); } DerObjectIdentifier oid = DerObjectIdentifier.GetInstance(s[0].ToAsn1Object()); bool isCritical = s.Count == 3 && DerBoolean.GetInstance(s[1].ToAsn1Object()).IsTrue; Asn1OctetString octets = Asn1OctetString.GetInstance(s[s.Count - 1].ToAsn1Object()); if (extensions.Contains(oid)) { throw new ArgumentException("repeated extension found: " + oid); } extensions.Add(oid, new X509Extension(isCritical, octets)); ordering.Add(oid); } }
/** * Constructor from Asn1Sequence. * * the extensions are a list of constructed sequences, either with (Oid, OctetString) or (Oid, Boolean, OctetString) */ private X509Extensions( Asn1Sequence seq) { this.ordering = Platform.CreateArrayList(); foreach (Asn1Encodable ae in seq) { Asn1Sequence s = Asn1Sequence.GetInstance(ae.ToAsn1Object()); if (s.Count < 2 || s.Count > 3) { throw new ArgumentException("Bad sequence size: " + s.Count); } DerObjectIdentifier oid = DerObjectIdentifier.GetInstance(s[0].ToAsn1Object()); bool isCritical = s.Count == 3 && DerBoolean.GetInstance(s[1].ToAsn1Object()).IsTrue; Asn1OctetString octets = Asn1OctetString.GetInstance(s[s.Count - 1].ToAsn1Object()); extensions.Add(oid, new X509Extension(isCritical, octets)); ordering.Add(oid); } }
public BasicConstraints( bool cA) { if (cA) { this.cA = DerBoolean.True; } }
public TimeStampReq(MessageImprint messageImprint, DerObjectIdentifier tsaPolicy, DerInteger nonce, DerBoolean certReq, X509Extensions extensions) { this.version = new DerInteger(1); this.messageImprint = messageImprint; this.tsaPolicy = tsaPolicy; this.nonce = nonce; this.certReq = certReq; this.extensions = extensions; }
public X509Extension(DerBoolean critical, Asn1OctetString value) { if (critical == null) { throw new ArgumentNullException("critical"); } this.critical = critical.IsTrue; this.value = value; }
public X509Extension(DerBoolean critical, Asn1OctetString value) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) if (critical == null) { throw new ArgumentNullException("critical"); } this.critical = critical.IsTrue; this.value = value; }
protected override bool Asn1Equals(Asn1Object asn1Object) { DerBoolean derBoolean = asn1Object as DerBoolean; if (derBoolean == null) { return(false); } return(IsTrue == derBoolean.IsTrue); }
public MetaData( DerBoolean hashProtected, DerUtf8String fileName, DerIA5String mediaType, Attributes otherMetaData) { this.hashProtected = hashProtected; this.fileName = fileName; this.mediaType = mediaType; this.otherMetaData = otherMetaData; }
public X509Extension( DerBoolean critical, Asn1OctetString value) { if (critical == null) { throw new ArgumentNullException("critical"); } this.critical = critical.IsTrue; this.value = value; }
public ExtraData(Asn1Sequence seq) { IEnumerator enumerator = seq.GetEnumerator(); enumerator.MoveNext(); ExtId = DerObjectIdentifier.GetInstance(enumerator.Current); enumerator.MoveNext(); Critical = DerBoolean.GetInstance(enumerator.Current); enumerator.MoveNext(); ExtValue = Asn1OctetString.GetInstance(enumerator.Current); }
public TstInfo(DerObjectIdentifier tsaPolicyId, MessageImprint messageImprint, DerInteger serialNumber, DerGeneralizedTime genTime, Accuracy accuracy, DerBoolean ordering, DerInteger nonce, GeneralName tsa, X509Extensions extensions) { version = new DerInteger(1); this.tsaPolicyId = tsaPolicyId; this.messageImprint = messageImprint; this.serialNumber = serialNumber; this.genTime = genTime; this.accuracy = accuracy; this.ordering = ordering; this.nonce = nonce; this.tsa = tsa; this.extensions = extensions; }
private TstInfo(Asn1Sequence seq) { IEnumerator enumerator = seq.GetEnumerator(); enumerator.MoveNext(); version = DerInteger.GetInstance(enumerator.Current); enumerator.MoveNext(); tsaPolicyId = DerObjectIdentifier.GetInstance(enumerator.Current); enumerator.MoveNext(); messageImprint = MessageImprint.GetInstance(enumerator.Current); enumerator.MoveNext(); serialNumber = DerInteger.GetInstance(enumerator.Current); enumerator.MoveNext(); genTime = DerGeneralizedTime.GetInstance(enumerator.Current); ordering = DerBoolean.False; while (enumerator.MoveNext()) { Asn1Object asn1Object = (Asn1Object)enumerator.Current; if (asn1Object is Asn1TaggedObject) { DerTaggedObject derTaggedObject = (DerTaggedObject)asn1Object; switch (derTaggedObject.TagNo) { case 0: tsa = GeneralName.GetInstance(derTaggedObject, explicitly: true); break; case 1: extensions = X509Extensions.GetInstance(derTaggedObject, explicitly: false); break; default: throw new ArgumentException("Unknown tag value " + derTaggedObject.TagNo); } } if (asn1Object is DerSequence) { accuracy = Accuracy.GetInstance(asn1Object); } if (asn1Object is DerBoolean) { ordering = DerBoolean.GetInstance(asn1Object); } if (asn1Object is DerInteger) { nonce = DerInteger.GetInstance(asn1Object); } } }
private TstInfo(Asn1Sequence seq) { //IL_00fa: Unknown result type (might be due to invalid IL or missing references) global::System.Collections.IEnumerator enumerator = seq.GetEnumerator(); enumerator.MoveNext(); version = DerInteger.GetInstance(enumerator.get_Current()); enumerator.MoveNext(); tsaPolicyId = DerObjectIdentifier.GetInstance(enumerator.get_Current()); enumerator.MoveNext(); messageImprint = MessageImprint.GetInstance(enumerator.get_Current()); enumerator.MoveNext(); serialNumber = DerInteger.GetInstance(enumerator.get_Current()); enumerator.MoveNext(); genTime = DerGeneralizedTime.GetInstance(enumerator.get_Current()); ordering = DerBoolean.False; while (enumerator.MoveNext()) { Asn1Object asn1Object = (Asn1Object)enumerator.get_Current(); if (asn1Object is Asn1TaggedObject) { DerTaggedObject derTaggedObject = (DerTaggedObject)asn1Object; switch (derTaggedObject.TagNo) { case 0: tsa = GeneralName.GetInstance(derTaggedObject, explicitly: true); break; case 1: extensions = X509Extensions.GetInstance(derTaggedObject, explicitly: false); break; default: throw new ArgumentException(string.Concat((object)"Unknown tag value ", (object)derTaggedObject.TagNo)); } } if (asn1Object is DerSequence) { accuracy = Accuracy.GetInstance(asn1Object); } if (asn1Object is DerBoolean) { ordering = DerBoolean.GetInstance(asn1Object); } if (asn1Object is DerInteger) { nonce = DerInteger.GetInstance(asn1Object); } } }
public TimeStampReq( MessageImprint messageImprint, DerObjectIdentifier tsaPolicy, DerInteger nonce, DerBoolean certReq, X509Extensions extensions) { // default this.version = new DerInteger(1); this.messageImprint = messageImprint; this.tsaPolicy = tsaPolicy; this.nonce = nonce; this.certReq = certReq; this.extensions = extensions; }
private X509Extensions(Asn1Sequence seq) { ordering = Platform.CreateArrayList(); foreach (Asn1Encodable item in seq) { Asn1Sequence instance = Asn1Sequence.GetInstance(item.ToAsn1Object()); if (instance.Count < 2 || instance.Count > 3) { throw new ArgumentException("Bad sequence size: " + instance.Count); } DerObjectIdentifier instance2 = DerObjectIdentifier.GetInstance(instance[0].ToAsn1Object()); bool critical = instance.Count == 3 && DerBoolean.GetInstance(instance[1].ToAsn1Object()).IsTrue; Asn1OctetString instance3 = Asn1OctetString.GetInstance(instance[instance.Count - 1].ToAsn1Object()); extensions.Add(instance2, new X509Extension(critical, instance3)); ordering.Add(instance2); } }
private MetaData(Asn1Sequence seq) { hashProtected = DerBoolean.GetInstance(seq[0]); int num = 1; if (num < seq.Count && seq[num] is DerUtf8String) { fileName = DerUtf8String.GetInstance(seq[num++]); } if (num < seq.Count && seq[num] is DerIA5String) { mediaType = DerIA5String.GetInstance(seq[num++]); } if (num < seq.Count) { otherMetaData = Attributes.GetInstance(seq[num++]); } }
private MetaData(Asn1Sequence seq) { this.hashProtected = DerBoolean.GetInstance(seq[0]); int index = 1; if (index < seq.Count && seq[index] is DerUtf8String) { this.fileName = DerUtf8String.GetInstance(seq[index++]); } if (index < seq.Count && seq[index] is DerIA5String) { this.mediaType = DerIA5String.GetInstance(seq[index++]); } if (index < seq.Count) { this.otherMetaData = Attributes.GetInstance(seq[index++]); } }
private PkiArchiveOptions(Asn1TaggedObject tagged) { switch (tagged.TagNo) { case 0: value = EncryptedKey.GetInstance(tagged.GetObject()); break; case 1: value = Asn1OctetString.GetInstance(tagged, isExplicit: false); break; case 2: value = DerBoolean.GetInstance(tagged, isExplicit: false); break; default: throw new ArgumentException("unknown tag number: " + tagged.TagNo, "tagged"); } }
private PkiArchiveOptions(Asn1TaggedObject tagged) { switch (tagged.TagNo) { case encryptedPrivKey: value = EncryptedKey.GetInstance(tagged.GetObject()); break; case keyGenParameters: value = Asn1OctetString.GetInstance(tagged, false); break; case archiveRemGenPrivKey: value = DerBoolean.GetInstance(tagged, false); break; default: throw new ArgumentException("unknown tag number: " + tagged.TagNo, "tagged"); } }
/** * Constructor from Asn1Sequence */ private IssuingDistributionPoint( Asn1Sequence seq) { this.seq = seq; for (int i = 0; i != seq.Count; i++) { Asn1TaggedObject o = Asn1TaggedObject.GetInstance(seq[i]); switch (o.TagNo) { case 0: // CHOICE so explicit _distributionPoint = DistributionPointName.GetInstance(o, true); break; case 1: _onlyContainsUserCerts = DerBoolean.GetInstance(o, false).IsTrue; break; case 2: _onlyContainsCACerts = DerBoolean.GetInstance(o, false).IsTrue; break; case 3: _onlySomeReasons = new ReasonFlags(ReasonFlags.GetInstance(o, false)); 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"); } } }
private PkiArchiveOptions(Asn1TaggedObject tagged) { //IL_0069: Unknown result type (might be due to invalid IL or missing references) switch (tagged.TagNo) { case 0: value = EncryptedKey.GetInstance(tagged.GetObject()); break; case 1: value = Asn1OctetString.GetInstance(tagged, isExplicit: false); break; case 2: value = DerBoolean.GetInstance(tagged, isExplicit: false); break; default: throw new ArgumentException(string.Concat((object)"unknown tag number: ", (object)tagged.TagNo), "tagged"); } }
private TimeStampReq( Asn1Sequence seq) { int nbObjects = seq.Count; int seqStart = 0; // version version = DerInteger.GetInstance(seq[seqStart++]); // messageImprint messageImprint = MessageImprint.GetInstance(seq[seqStart++]); for (int opt = seqStart; opt < nbObjects; opt++) { // tsaPolicy if (seq[opt] is DerObjectIdentifier) { tsaPolicy = DerObjectIdentifier.GetInstance(seq[opt]); } // nonce else if (seq[opt] is DerInteger) { nonce = DerInteger.GetInstance(seq[opt]); } // certReq else if (seq[opt] is DerBoolean) { certReq = DerBoolean.GetInstance(seq[opt]); } // extensions else if (seq[opt] is Asn1TaggedObject) { Asn1TaggedObject tagged = (Asn1TaggedObject) seq[opt]; if (tagged.TagNo == 0) { extensions = X509Extensions.GetInstance(tagged, false); } } } }
private TimeStampReq( Asn1Sequence seq) { int nbObjects = seq.Count; int seqStart = 0; // version version = DerInteger.GetInstance(seq[seqStart++]); // messageImprint messageImprint = MessageImprint.GetInstance(seq[seqStart++]); for (int opt = seqStart; opt < nbObjects; opt++) { // tsaPolicy if (seq[opt] is DerObjectIdentifier) { tsaPolicy = DerObjectIdentifier.GetInstance(seq[opt]); } // nonce else if (seq[opt] is DerInteger) { nonce = DerInteger.GetInstance(seq[opt]); } // certReq else if (seq[opt] is DerBoolean) { certReq = DerBoolean.GetInstance(seq[opt]); } // extensions else if (seq[opt] is Asn1TaggedObject) { Asn1TaggedObject tagged = (Asn1TaggedObject)seq[opt]; if (tagged.TagNo == 0) { extensions = X509Extensions.GetInstance(tagged, false); } } } }
public void TestReadingMultipleSingleByteItems() { Asn1Object obj = Asn1Object.FromByteArray(MultipleSingleByteItems); Assert.IsTrue(obj is DerSequence, "Null ASN.1 SEQUENCE"); DerSequence sequence = (DerSequence)obj; Assert.AreEqual(2, sequence.Count, "2 items expected"); DerEnumerated enumerated = sequence[0] as DerEnumerated; Assert.IsNotNull(enumerated, "ENUMERATED expected"); Assert.AreEqual(1, enumerated.Value.IntValue, "Unexpected ENUMERATED value"); DerBoolean boolean = sequence[1] as DerBoolean; Assert.IsNotNull(boolean, "BOOLEAN expected"); Assert.IsTrue(boolean.IsTrue, "Unexpected BOOLEAN value"); }
/** * Constructor from Asn1Sequence. * * the extensions are a list of constructed sequences, either with (Oid, OctetString) or (Oid, Boolean, OctetString) */ private X509Extensions( Asn1Sequence seq) { foreach (object o in seq) { Asn1Sequence s = Asn1Sequence.GetInstance(o); if (s.Count == 3) { extensions.Add(s[0], new X509Extension(DerBoolean.GetInstance(s[1]), Asn1OctetString.GetInstance(s[2]))); } else if (s.Count == 2) { extensions.Add(s[0], new X509Extension(false, Asn1OctetString.GetInstance(s[1]))); } else { throw new ArgumentException("Bad sequence size: " + s.Count); } ordering.Add(s[0]); } }
private BasicConstraints( Asn1Sequence seq) { if (seq.Count > 0) { if (seq[0] is DerBoolean) { this.cA = DerBoolean.GetInstance(seq[0]); } else { this.pathLenConstraint = DerInteger.GetInstance(seq[0]); } if (seq.Count > 1) { if (this.cA == null) throw new ArgumentException("wrong sequence in constructor", "seq"); this.pathLenConstraint = DerInteger.GetInstance(seq[1]); } } }
private IssuingDistributionPoint(Asn1Sequence seq) { this.seq = seq; for (int num = 0; num != seq.Count; num++) { Asn1TaggedObject instance = Asn1TaggedObject.GetInstance(seq[num]); switch (instance.TagNo) { case 0: this._distributionPoint = DistributionPointName.GetInstance(instance, true); break; case 1: this._onlyContainsUserCerts = DerBoolean.GetInstance(instance, false).IsTrue; break; case 2: this._onlyContainsCACerts = DerBoolean.GetInstance(instance, false).IsTrue; break; case 3: this._onlySomeReasons = new ReasonFlags(DerBitString.GetInstance(instance, false)); break; case 4: this._indirectCRL = DerBoolean.GetInstance(instance, false).IsTrue; break; case 5: this._onlyContainsAttributeCerts = DerBoolean.GetInstance(instance, false).IsTrue; break; default: throw new ArgumentException("unknown tag in IssuingDistributionPoint"); } } }
private BasicConstraints(Asn1Sequence seq) { //IL_005e: Unknown result type (might be due to invalid IL or missing references) if (seq.Count <= 0) { return; } if (seq[0] is DerBoolean) { cA = DerBoolean.GetInstance(seq[0]); } else { pathLenConstraint = DerInteger.GetInstance(seq[0]); } if (seq.Count > 1) { if (cA == null) { throw new ArgumentException("wrong sequence in constructor", "seq"); } pathLenConstraint = DerInteger.GetInstance(seq[1]); } }
public TstInfo( DerObjectIdentifier tsaPolicyId, MessageImprint messageImprint, DerInteger serialNumber, DerGeneralizedTime genTime, Accuracy accuracy, DerBoolean ordering, DerInteger nonce, GeneralName tsa, X509Extensions extensions) { this.version = new DerInteger(1); this.tsaPolicyId = tsaPolicyId; this.messageImprint = messageImprint; this.serialNumber = serialNumber; this.genTime = genTime; this.accuracy = accuracy; this.ordering = ordering; this.nonce = nonce; this.tsa = tsa; this.extensions = extensions; }
private TstInfo( Asn1Sequence seq) { IEnumerator e = seq.GetEnumerator(); // version e.MoveNext(); version = DerInteger.GetInstance(e.Current); // tsaPolicy e.MoveNext(); tsaPolicyId = DerObjectIdentifier.GetInstance(e.Current); // messageImprint e.MoveNext(); messageImprint = MessageImprint.GetInstance(e.Current); // serialNumber e.MoveNext(); serialNumber = DerInteger.GetInstance(e.Current); // genTime e.MoveNext(); genTime = DerGeneralizedTime.GetInstance(e.Current); // default for ordering ordering = DerBoolean.False; while (e.MoveNext()) { Asn1Object o = (Asn1Object) e.Current; if (o is Asn1TaggedObject) { DerTaggedObject tagged = (DerTaggedObject) o; switch (tagged.TagNo) { case 0: tsa = GeneralName.GetInstance(tagged, true); break; case 1: extensions = X509Extensions.GetInstance(tagged, false); break; default: throw new ArgumentException("Unknown tag value " + tagged.TagNo); } } if (o is DerSequence) { accuracy = Accuracy.GetInstance(o); } if (o is DerBoolean) { ordering = DerBoolean.GetInstance(o); } if (o is DerInteger) { nonce = DerInteger.GetInstance(o); } } }
/** * create a cA=true object for the given path length constraint. * * @param pathLenConstraint */ public BasicConstraints( int pathLenConstraint) { this.cA = DerBoolean.True; this.pathLenConstraint = new DerInteger(pathLenConstraint); }