public SingleResponse( ASN1Sequence seq) { this.certID = CertID.getInstance(seq.getObjectAt(0)); this.certStatus = CertStatus.getInstance(seq.getObjectAt(1)); this.thisUpdate = (DERGeneralizedTime)seq.getObjectAt(2); if (seq.size() > 4) { this.nextUpdate = DERGeneralizedTime.getInstance( (ASN1TaggedObject)seq.getObjectAt(3), true); this.singleExtensions = X509Extensions.getInstance( (ASN1TaggedObject)seq.getObjectAt(4), true); } else if (seq.size() > 3) { ASN1TaggedObject o = (ASN1TaggedObject)seq.getObjectAt(3); if (o.getTagNo() == 0) { this.nextUpdate = DERGeneralizedTime.getInstance(o, true); } else { this.singleExtensions = X509Extensions.getInstance(o, true); } } }
public GeneralName[] getNames() { GeneralName[] names = new GeneralName[seq.size()]; for (int i = 0; i != seq.size(); i++) { names[i] = GeneralName.getInstance(seq.getObjectAt(i)); } return(names); }
/** * Return the distribution points making up the sequence. * * @return DistributionPoint[] */ public DistributionPoint[] getDistributionPoints() { DistributionPoint[] dp = new DistributionPoint[seq.size()]; for (int i = 0; i != seq.size(); i++) { dp[i] = DistributionPoint.getInstance(seq.getObjectAt(i)); } return(dp); }
public ResponseData( ASN1Sequence seq) { int index = 0; if (seq.getObjectAt(0) is ASN1TaggedObject) { ASN1TaggedObject o = (ASN1TaggedObject)seq.getObjectAt(0); if (o.getTagNo() == 0) { this.version = DERInteger.getInstance( (ASN1TaggedObject)seq.getObjectAt(0), true); index++; } else { this.version = null; } } else { this.version = null; } this.responderID = ResponderID.getInstance(seq.getObjectAt(index++)); this.producedAt = (DERGeneralizedTime)seq.getObjectAt(index++); this.responses = (ASN1Sequence)seq.getObjectAt(index++); if (seq.size() > index) { this.responseExtensions = X509Extensions.getInstance( (ASN1TaggedObject)seq.getObjectAt(index), true); } }
public Holder( ASN1Sequence seq) { for (int i = 0; i != seq.size(); i++) { ASN1TaggedObject tObj = (ASN1TaggedObject)seq.getObjectAt(i); switch (tObj.getTagNo()) { case 0: baseCertificateID = IssuerSerial.getInstance(tObj, false); break; case 1: entityName = GeneralNames.getInstance(tObj, false); break; case 2: objectDigestInfo = ObjectDigestInfo.getInstance(tObj, false); break; default: throw new ArgumentException("unknown tag in Holder"); } } }
public AttributeCertificateInfo( ASN1Sequence seq) { this.version = DERInteger.getInstance(seq.getObjectAt(0)); this.holder = Holder.getInstance(seq.getObjectAt(1)); this.issuer = AttCertIssuer.getInstance(seq.getObjectAt(2)); this.signature = AlgorithmIdentifier.getInstance(seq.getObjectAt(3)); this.serialNumber = DERInteger.getInstance(seq.getObjectAt(4)); this.attrCertValidityPeriod = AttCertValidityPeriod.getInstance(seq.getObjectAt(5)); this.attributes = ASN1Sequence.getInstance(seq.getObjectAt(6)); for (int i = 7; i < seq.size(); i++) { ASN1Encodable obj = (ASN1Encodable)seq.getObjectAt(i); if (obj is DERBitString) { this.issuerUniqueID = DERBitString.getInstance(seq.getObjectAt(i)); } else if (obj is ASN1Sequence || obj is X509Extensions) { this.extensions = X509Extensions.getInstance(seq.getObjectAt(i)); } } }
public OriginatorInfo( ASN1Sequence seq) { switch (seq.size()) { case 0: // empty break; case 1: ASN1TaggedObject o = (ASN1TaggedObject)seq.getObjectAt(0); switch ((int)o.getTagNo()) { case 0: certs = ASN1Set.getInstance(o, false); break; case 1: crls = ASN1Set.getInstance(o, false); break; default: throw new ArgumentException("Bad tag in OriginatorInfo: " + o.getTagNo()); } break; case 2: certs = ASN1Set.getInstance((ASN1TaggedObject)seq.getObjectAt(0), false); crls = ASN1Set.getInstance((ASN1TaggedObject)seq.getObjectAt(1), false); break; default: throw new ArgumentException("OriginatorInfo too big"); } }
public KEKIdentifier( ASN1Sequence seq) { keyIdentifier = (ASN1OctetString)seq.getObjectAt(0); switch (seq.size()) { case 1: break; case 2: if (seq.getObjectAt(1) is DERGeneralizedTime) { date = (DERGeneralizedTime)seq.getObjectAt(1); } else { other = OtherKeyAttribute.getInstance(seq.getObjectAt(2)); } break; case 3: date = (DERGeneralizedTime)seq.getObjectAt(1); other = OtherKeyAttribute.getInstance(seq.getObjectAt(2)); break; default: throw new ArgumentException("Invalid KEKIdentifier"); } }
public TBSCertificateStructure( ASN1Sequence seq) { int seqStart = 0; this.seq = seq; // // some certficates don't include a version number - we assume v1 // if (seq.getObjectAt(0) is DERTaggedObject) { version = DERInteger.getInstance(seq.getObjectAt(0)); } else { seqStart = -1; // field 0 is missing! version = new DERInteger(0); } serialNumber = DERInteger.getInstance(seq.getObjectAt(seqStart + 1)); signature = AlgorithmIdentifier.getInstance(seq.getObjectAt(seqStart + 2)); issuer = X509Name.getInstance(seq.getObjectAt(seqStart + 3)); // // before and after dates // ASN1Sequence dates = (ASN1Sequence)seq.getObjectAt(seqStart + 4); startDate = Time.getInstance(dates.getObjectAt(0)); endDate = Time.getInstance(dates.getObjectAt(1)); subject = X509Name.getInstance(seq.getObjectAt(seqStart + 5)); // // public key info. // subjectPublicKeyInfo = SubjectPublicKeyInfo.getInstance(seq.getObjectAt(seqStart + 6)); for (int extras = seq.size() - (seqStart + 6) - 1; extras > 0; extras--) { DERTaggedObject extra = (DERTaggedObject)seq.getObjectAt(seqStart + 6 + extras); switch ((int)extra.getTagNo()) { case 1: issuerUniqueId = DERBitString.getInstance(extra, false); break; case 2: subjectUniqueId = DERBitString.getInstance(extra, false); break; case 3: extensions = X509Extensions.getInstance(extra); break; } } }
public TBSCertList( ASN1Sequence seq) { int seqPos = 0; this.seq = seq; if (seq.getObjectAt(seqPos) is DERInteger) { version = (DERInteger)seq.getObjectAt(seqPos++); } else { version = new DERInteger(0); } signature = AlgorithmIdentifier.getInstance(seq.getObjectAt(seqPos++)); issuer = X509Name.getInstance(seq.getObjectAt(seqPos++)); thisUpdate = Time.getInstance(seq.getObjectAt(seqPos++)); if (seqPos < seq.size() && (seq.getObjectAt(seqPos) is DERUTCTime || seq.getObjectAt(seqPos) is DERGeneralizedTime || seq.getObjectAt(seqPos) is Time)) { nextUpdate = Time.getInstance(seq.getObjectAt(seqPos++)); } if (seqPos < seq.size() && !(seq.getObjectAt(seqPos) is DERTaggedObject)) { ASN1Sequence certs = (ASN1Sequence)seq.getObjectAt(seqPos++); revokedCertificates = new CRLEntry[certs.size()]; for (int i = 0; i < revokedCertificates.Length; i++) { revokedCertificates[i] = new CRLEntry((ASN1Sequence)certs.getObjectAt(i)); } } if (seqPos < seq.size() && seq.getObjectAt(seqPos) is DERTaggedObject) { crlExtensions = X509Extensions.getInstance(seq.getObjectAt(seqPos++)); } }
/** * */ public IetfAttrSyntax(ASN1Sequence seq) { int i = 0; if (seq.getObjectAt(0) is ASN1TaggedObject) { policyAuthority = GeneralNames.getInstance(((ASN1TaggedObject)seq.getObjectAt(0)), false); i++; } else if (seq.size() == 2) { // VOMS fix policyAuthority = GeneralNames.getInstance(seq.getObjectAt(0)); i++; } if (!(seq.getObjectAt(i) is ASN1Sequence)) { throw new ArgumentException("Non-IetfAttrSyntax encoding"); } seq = (ASN1Sequence)seq.getObjectAt(i); for (IEnumerator e = seq.getObjects(); e.MoveNext();) { ASN1Object obj = (ASN1Object)e.Current; int type; if (obj is DERObjectIdentifier) { type = VALUE_OID; } else if (obj is DERUTF8String) { type = VALUE_UTF8; } else if (obj is DEROctetString) { type = VALUE_OCTETS; } else { throw new ArgumentException("Bad value type encoding IetfAttrSyntax"); } if (valueChoice < 0) { valueChoice = type; } if (type != valueChoice) { throw new ArgumentException("Mix of value types in IetfAttrSyntax"); } values.Add(obj); } }
public SMIMECapability( ASN1Sequence seq) { capabilityID = (DERObjectIdentifier)seq.getObjectAt(0); if (seq.size() > 1) { parameters = (ASN1Object)seq.getObjectAt(1); } }
public SafeBag( ASN1Sequence seq) { this.bagId = (DERObjectIdentifier)seq.getObjectAt(0); this.bagValue = ((DERTaggedObject)seq.getObjectAt(1)).getObject(); if (seq.size() == 3) { this.bagAttributes = (ASN1Set)seq.getObjectAt(2); } }
public AuthenticatedSafe( ASN1Sequence seq) { info = new ContentInfo[seq.size()]; for (int i = 0; i != info.Length; i++) { info[i] = ContentInfo.getInstance(seq.getObjectAt(i)); } }
public PolicyInformation( ASN1Sequence seq) { policyIdentifier = (DERObjectIdentifier)seq.getObjectAt(0); if (seq.size() > 1) { policyQualifiers = (ASN1Sequence)seq.getObjectAt(1); } }
/** * Creates a new <code>UserNotice</code> instance. * <p>Useful from reconstructing a <code>UserNotice</code> instance * from its encodable/encoded form. * * @param as an <code>ASN1Sequence</code> value obtained from either * calling @{link toASN1Object()} for a <code>UserNotice</code> * instance or from parsing it from a DER-encoded stream. */ public UserNotice( ASN1Sequence aseq) { if (aseq.size() == 2) { noticeRef = NoticeReference.getInstance(aseq.getObjectAt(0)); explicitText = DisplayText.getInstance(aseq.getObjectAt(1)); } else if (aseq.size() == 1) { if (aseq.getObjectAt(0).toASN1Object() is ASN1Sequence) { noticeRef = NoticeReference.getInstance(aseq.getObjectAt(0)); } else { explicitText = DisplayText.getInstance(aseq.getObjectAt(0)); } } }
public ASN1OctetString getContent() { if (data.size() == 3) { DERTaggedObject o = (DERTaggedObject)data.getObjectAt(2); return(ASN1OctetString.getInstance(o.getObject())); } return(null); }
public Request( ASN1Sequence seq) { reqCert = CertID.getInstance(seq.getObjectAt(0)); if (seq.size() == 2) { singleRequestExtensions = X509Extensions.getInstance( (ASN1TaggedObject)seq.getObjectAt(1), true); } }
public IssuerSerial( ASN1Sequence seq) { issuer = GeneralNames.getInstance(seq.getObjectAt(0)); serial = (DERInteger)seq.getObjectAt(1); if (seq.size() == 3) { issuerUID = (DERBitString)seq.getObjectAt(2); } }
public OCSPRequest( ASN1Sequence seq) { tbsRequest = TBSRequest.getInstance(seq.getObjectAt(0)); if (seq.size() == 2) { optionalSignature = Signature.getInstance( (ASN1TaggedObject)seq.getObjectAt(1), true); } }
public RevokedInfo( ASN1Sequence seq) { this.revocationTime = (DERGeneralizedTime)seq.getObjectAt(0); if (seq.size() > 1) { this.revocationReason = new CRLReason(DEREnumerated.getInstance( (ASN1TaggedObject)seq.getObjectAt(1), true)); } }
public Signature( ASN1Sequence seq) { signatureAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(0)); signature = (DERBitString)seq.getObjectAt(1); if (seq.size() == 3) { certs = ASN1Sequence.getInstance( (ASN1TaggedObject)seq.getObjectAt(2), true); } }
public CRLEntry( ASN1Sequence seq) { this.seq = seq; userCertificate = (DERInteger)seq.getObjectAt(0); revocationDate = Time.getInstance(seq.getObjectAt(1)); if (seq.size() == 3) { crlEntryExtensions = X509Extensions.getInstance(seq.getObjectAt(2)); } }
public IDEACBCPar( ASN1Sequence seq) { if (seq.size() == 1) { iv = (ASN1OctetString)seq.getObjectAt(0); } else { iv = null; } }
public EncryptedContentInfo( ASN1Sequence seq) { contentType = (DERObjectIdentifier)seq.getObjectAt(0); contentEncryptionAlgorithm = AlgorithmIdentifier.getInstance( seq.getObjectAt(1)); if (seq.size() > 2) { encryptedContent = ASN1OctetString.getInstance( (ASN1TaggedObject)seq.getObjectAt(2), false); } }
public BasicOCSPResponse( ASN1Sequence seq) { this.tbsResponseData = ResponseData.getInstance(seq.getObjectAt(0)); this.signatureAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(1)); this.signature = (DERBitString)seq.getObjectAt(2); if (seq.size() > 3) { this.certs = ASN1Sequence.getInstance((ASN1TaggedObject)seq.getObjectAt(3), true); } }
public Req[] getRequestList() { ASN1Sequence seq = req.getTbsRequest().getRequestList(); Req[] requests = new Req[seq.size()]; for (int i = 0; i != requests.Length; i++) { requests[i] = new Req(Request.getInstance(seq.getObjectAt(i))); } return(requests); }
/// <summary> /// Return the Single Responses. /// </summary> /// <returns>An array..</returns> public SingleResp[] getResponses() { ASN1Sequence s = data.getResponses(); SingleResp[] rs = new SingleResp[s.size()]; for (int i = 0; i != rs.Length; i++) { rs[i] = new SingleResp(SingleResponse.getInstance(s.getObjectAt(i))); } return(rs); }
public AlgorithmIdentifier( ASN1Sequence seq) { objectId = (DERObjectIdentifier)seq.getObjectAt(0); if (seq.size() == 2) { parameters = seq.getObjectAt(1); } else { parameters = null; } }
public RC2CBCParameter( ASN1Sequence seq) { if (seq.size() == 1) { version = null; iv = (ASN1OctetString)seq.getObjectAt(0); } else { version = (DERInteger)seq.getObjectAt(0); iv = (ASN1OctetString)seq.getObjectAt(1); } }