1 20 package com.novosec.pkix.asn1.cmp; 21 22 import org.bouncycastle.asn1.ASN1EncodableVector; 23 import org.bouncycastle.asn1.ASN1Sequence; 24 import org.bouncycastle.asn1.ASN1TaggedObject; 25 import org.bouncycastle.asn1.DEREncodable; 26 import org.bouncycastle.asn1.DERObject; 27 import org.bouncycastle.asn1.DERSequence; 28 import org.bouncycastle.asn1.x509.AlgorithmIdentifier; 29 30 41 public class DHBMParameter implements DEREncodable 42 { 43 AlgorithmIdentifier owf; 44 AlgorithmIdentifier mac; 45 46 public static DHBMParameter getInstance(ASN1TaggedObject obj, boolean explicit) 47 { 48 return getInstance(ASN1Sequence.getInstance(obj, explicit)); 49 } 50 51 public static DHBMParameter getInstance(Object obj) 52 { 53 if (obj instanceof DHBMParameter) 54 { 55 return (DHBMParameter) obj; 56 } 57 else if (obj instanceof ASN1Sequence) 58 { 59 return new DHBMParameter((ASN1Sequence) obj); 60 } 61 62 throw new IllegalArgumentException ("unknown object in factory"); 63 } 64 65 public DHBMParameter(ASN1Sequence seq) 66 { 67 this.owf = AlgorithmIdentifier.getInstance(seq.getObjectAt(0)); 68 this.mac = AlgorithmIdentifier.getInstance(seq.getObjectAt(1)); 69 } 70 71 public DHBMParameter(AlgorithmIdentifier owf, AlgorithmIdentifier mac) 72 { 73 this.owf = owf; 74 this.mac = mac; 75 } 76 77 public AlgorithmIdentifier getOwf() 78 { 79 return owf; 80 } 81 82 public AlgorithmIdentifier getMac() 83 { 84 return mac; 85 } 86 87 public DERObject getDERObject() 88 { 89 ASN1EncodableVector v = new ASN1EncodableVector(); 90 91 v.add(owf); 92 v.add(mac); 93 94 return new DERSequence(v); 95 } 96 97 public String toString() 98 { 99 return "DHBMParameter: (owf = " + this.getOwf() + ", mac = " + this.getMac() + ")"; 100 } 101 } 102 | Popular Tags |