vipnet-extract-data/VipNetExtract2/KeyValidity.cs

47 lines
1.3 KiB
C#

using System;
using Org.BouncyCastle.Asn1;
using Org.BouncyCastle.Asn1.X509;
using Org.BouncyCastle.Utilities;
namespace VipNetExtract
{
class KeyValidity : Asn1Encodable
{
public KeyValidity(Asn1Sequence seq)
{
NotBefore = Time.GetInstance(GetTime(seq[0]));
NotAfter = Time.GetInstance(GetTime(seq[1]));
}
private static Asn1Encodable GetTime(Asn1Encodable time)
{
if (time is Asn1TaggedObject tag)
time = tag.GetObject();
if (time is Asn1OctetString str)
time = new DerGeneralizedTime(Strings.FromAsciiByteArray(str.GetOctets()));
return time;
}
public Time NotBefore { get; }
public Time NotAfter { get; }
public override Asn1Object ToAsn1Object()
{
throw new NotImplementedException();
}
public static KeyValidity GetInstance(object obj)
{
if (obj is KeyValidity entry)
return entry;
return new KeyValidity(Asn1Sequence.GetInstance(obj));
}
public static KeyValidity GetInstance(Asn1TaggedObject obj, bool explicitly)
=> GetInstance(Asn1Sequence.GetInstance(obj, explicitly));
}
}