PrivateKeyUsagePeriod
using Org.BouncyCastle.Utilities;
using System;
namespace Org.BouncyCastle.Asn1.X509
{
public class PrivateKeyUsagePeriod : Asn1Encodable
{
private Asn1GeneralizedTime _notBefore;
private Asn1GeneralizedTime _notAfter;
public Asn1GeneralizedTime NotBefore => _notBefore;
public Asn1GeneralizedTime NotAfter => _notAfter;
public static PrivateKeyUsagePeriod GetInstance(object obj)
{
if (obj is PrivateKeyUsagePeriod)
return (PrivateKeyUsagePeriod)obj;
if (obj is Asn1Sequence)
return new PrivateKeyUsagePeriod((Asn1Sequence)obj);
if (obj is X509Extension)
return GetInstance(X509Extension.ConvertValueToObject((X509Extension)obj));
throw new ArgumentException("unknown object in GetInstance: " + Platform.GetTypeName(obj), "obj");
}
private PrivateKeyUsagePeriod(Asn1Sequence seq)
{
foreach (Asn1TaggedObject item in seq) {
if (item.TagNo == 0)
_notBefore = Asn1GeneralizedTime.GetInstance(item, false);
else if (item.TagNo == 1) {
_notAfter = Asn1GeneralizedTime.GetInstance(item, false);
}
}
}
public override Asn1Object ToAsn1Object()
{
Asn1EncodableVector asn1EncodableVector = new Asn1EncodableVector(2);
asn1EncodableVector.AddOptionalTagged(false, 0, _notBefore);
asn1EncodableVector.AddOptionalTagged(false, 1, _notAfter);
return new DerSequence(asn1EncodableVector);
}
}
}