1 20 package com.novosec.pkix.asn1.cmp; 21 22 import java.util.Enumeration ; 23 import java.util.Vector ; 24 25 import org.bouncycastle.asn1.ASN1EncodableVector; 26 import org.bouncycastle.asn1.ASN1Sequence; 27 import org.bouncycastle.asn1.ASN1TaggedObject; 28 import org.bouncycastle.asn1.DEREncodable; 29 import org.bouncycastle.asn1.DERObject; 30 import org.bouncycastle.asn1.DERSequence; 31 32 39 public class POPODecKeyChallContent implements DEREncodable 40 { 41 Vector challenges = new Vector (); 42 43 public static POPODecKeyChallContent getInstance(ASN1TaggedObject obj, boolean explicit) 44 { 45 return getInstance(ASN1Sequence.getInstance(obj, explicit)); 46 } 47 48 public static POPODecKeyChallContent getInstance(Object obj) 49 { 50 if (obj instanceof POPODecKeyChallContent) 51 { 52 return (POPODecKeyChallContent) obj; 53 } 54 else if (obj instanceof ASN1Sequence) 55 { 56 return new POPODecKeyChallContent((ASN1Sequence) obj); 57 } 58 59 throw new IllegalArgumentException ("unknown object in factory"); 60 } 61 62 public POPODecKeyChallContent(ASN1Sequence seq) 63 { 64 Enumeration e = seq.getObjects(); 65 66 while (e.hasMoreElements()) 67 challenges.addElement( Challenge.getInstance(e.nextElement()) ); 68 } 69 70 public POPODecKeyChallContent(Challenge p) 71 { 72 challenges.addElement(p); 73 } 74 75 public void addChallenge(Challenge p) 76 { 77 challenges.addElement(p); 78 } 79 80 public Challenge getChallenge(int nr) 81 { 82 if (challenges.size() > nr) 83 return (Challenge) challenges.elementAt(nr); 84 85 return null; 86 } 87 88 public DERObject getDERObject() 89 { 90 ASN1EncodableVector v = new ASN1EncodableVector(); 91 92 for (int i = 0; i < challenges.size(); i++) 93 v.add((Challenge) challenges.elementAt(i)); 94 95 return new DERSequence(v); 96 } 97 98 public String toString() 99 { 100 String s = "POPODecKeyChallContent: ("; 101 102 for (int i=0;i<challenges.size();i++) 103 s += challenges.elementAt(i) + ", "; 104 105 s += ")"; 106 107 return s; 108 } 109 } 110 | Popular Tags |