PolicyQualifierInfo
using System;
namespace Org.BouncyCastle.Asn1.X509
{
public class PolicyQualifierInfo : Asn1Encodable
{
private readonly DerObjectIdentifier policyQualifierId;
private readonly Asn1Encodable qualifier;
public virtual DerObjectIdentifier PolicyQualifierId => policyQualifierId;
public virtual Asn1Encodable Qualifier => qualifier;
public PolicyQualifierInfo(DerObjectIdentifier policyQualifierId, Asn1Encodable qualifier)
{
this.policyQualifierId = policyQualifierId;
this.qualifier = qualifier;
}
public PolicyQualifierInfo(string cps)
{
policyQualifierId = PolicyQualifierID.IdQtCps;
qualifier = new DerIA5String(cps);
}
private PolicyQualifierInfo(Asn1Sequence seq)
{
if (seq.Count != 2)
throw new ArgumentException("Bad sequence size: " + seq.Count.ToString(), "seq");
policyQualifierId = DerObjectIdentifier.GetInstance(seq[0]);
qualifier = seq[1];
}
public static PolicyQualifierInfo GetInstance(object obj)
{
if (obj is PolicyQualifierInfo)
return (PolicyQualifierInfo)obj;
if (obj == null)
return null;
return new PolicyQualifierInfo(Asn1Sequence.GetInstance(obj));
}
public override Asn1Object ToAsn1Object()
{
return new DerSequence(policyQualifierId, qualifier);
}
}
}