001package org.apache.commons.ssl.org.bouncycastle.asn1.esf; 002 003import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Encodable; 004import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1EncodableVector; 005import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Object; 006import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1ObjectIdentifier; 007import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Primitive; 008import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Sequence; 009import org.apache.commons.ssl.org.bouncycastle.asn1.DERSequence; 010 011public class SigPolicyQualifierInfo 012 extends ASN1Object 013{ 014 private ASN1ObjectIdentifier sigPolicyQualifierId; 015 private ASN1Encodable sigQualifier; 016 017 public SigPolicyQualifierInfo( 018 ASN1ObjectIdentifier sigPolicyQualifierId, 019 ASN1Encodable sigQualifier) 020 { 021 this.sigPolicyQualifierId = sigPolicyQualifierId; 022 this.sigQualifier = sigQualifier; 023 } 024 025 private SigPolicyQualifierInfo( 026 ASN1Sequence seq) 027 { 028 sigPolicyQualifierId = ASN1ObjectIdentifier.getInstance(seq.getObjectAt(0)); 029 sigQualifier = seq.getObjectAt(1); 030 } 031 032 public static SigPolicyQualifierInfo getInstance( 033 Object obj) 034 { 035 if (obj instanceof SigPolicyQualifierInfo) 036 { 037 return (SigPolicyQualifierInfo) obj; 038 } 039 else if (obj != null) 040 { 041 return new SigPolicyQualifierInfo(ASN1Sequence.getInstance(obj)); 042 } 043 044 return null; 045 } 046 047 public ASN1ObjectIdentifier getSigPolicyQualifierId() 048 { 049 return new ASN1ObjectIdentifier(sigPolicyQualifierId.getId()); 050 } 051 052 public ASN1Encodable getSigQualifier() 053 { 054 return sigQualifier; 055 } 056 057 /** 058 * <pre> 059 * SigPolicyQualifierInfo ::= SEQUENCE { 060 * sigPolicyQualifierId SigPolicyQualifierId, 061 * sigQualifier ANY DEFINED BY sigPolicyQualifierId } 062 * 063 * SigPolicyQualifierId ::= OBJECT IDENTIFIER 064 * </pre> 065 */ 066 public ASN1Primitive toASN1Primitive() 067 { 068 ASN1EncodableVector v = new ASN1EncodableVector(); 069 070 v.add(sigPolicyQualifierId); 071 v.add(sigQualifier); 072 073 return new DERSequence(v); 074 } 075}