001package org.apache.commons.ssl.org.bouncycastle.asn1.cmp; 002 003import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Integer; 004import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Object; 005import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Primitive; 006import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Sequence; 007import org.apache.commons.ssl.org.bouncycastle.asn1.DERSequence; 008 009public class PollReqContent 010 extends ASN1Object 011{ 012 private ASN1Sequence content; 013 014 private PollReqContent(ASN1Sequence seq) 015 { 016 content = seq; 017 } 018 019 public static PollReqContent getInstance(Object o) 020 { 021 if (o instanceof PollReqContent) 022 { 023 return (PollReqContent)o; 024 } 025 026 if (o != null) 027 { 028 return new PollReqContent(ASN1Sequence.getInstance(o)); 029 } 030 031 return null; 032 } 033 034 /** 035 * Create a pollReqContent for a single certReqId. 036 * 037 * @param certReqId the certificate request ID. 038 */ 039 public PollReqContent(ASN1Integer certReqId) 040 { 041 this(new DERSequence(new DERSequence(certReqId))); 042 } 043 044 public ASN1Integer[][] getCertReqIds() 045 { 046 ASN1Integer[][] result = new ASN1Integer[content.size()][]; 047 048 for (int i = 0; i != result.length; i++) 049 { 050 result[i] = sequenceToASN1IntegerArray((ASN1Sequence)content.getObjectAt(i)); 051 } 052 053 return result; 054 } 055 056 private static ASN1Integer[] sequenceToASN1IntegerArray(ASN1Sequence seq) 057 { 058 ASN1Integer[] result = new ASN1Integer[seq.size()]; 059 060 for (int i = 0; i != result.length; i++) 061 { 062 result[i] = ASN1Integer.getInstance(seq.getObjectAt(i)); 063 } 064 065 return result; 066 } 067 068 /** 069 * <pre> 070 * PollReqContent ::= SEQUENCE OF SEQUENCE { 071 * certReqId INTEGER 072 * } 073 * </pre> 074 * @return a basic ASN.1 object representation. 075 */ 076 public ASN1Primitive toASN1Primitive() 077 { 078 return content; 079 } 080}