using System;
using System.Collections;
using Org.BouncyCastle.Asn1;
using Org.BouncyCastle.Asn1.Ocsp;
using Org.BouncyCastle.Asn1.X509;
using Org.BouncyCastle.Utilities.Date;
using Org.BouncyCastle.X509;
namespace Org.BouncyCastle.Ocsp{
public class SingleResp
: X509ExtensionBase
{
internal readonly SingleResponse resp;
public SingleResp(
SingleResponse resp)
{
this.resp = resp;
}
public CertificateID GetCertID()
{
return new CertificateID(resp.CertId);
}
/**
* Return the status object for the response - null indicates good.
*
* @return the status object for the response, null if it is good.
*/
public object GetCertStatus()
{
CertStatus s = resp.CertStatus;
if (s.TagNo == 0)
{
return null; // good
}
if (s.TagNo == 1)
{
return new RevokedStatus(RevokedInfo.GetInstance(s.Status));
}
return new UnknownStatus();
}
public DateTime ThisUpdate
{
get { return resp.ThisUpdate.ToDateTime(); }
}
/**
* return the NextUpdate value - note: this is an optional field so may
* be returned as null.
*
* @return nextUpdate, or null if not present.
*/
public DateTimeObject NextUpdate
{
get
{
return resp.NextUpdate == null
? null
: new DateTimeObject(resp.NextUpdate.ToDateTime());
}
}
public X509Extensions SingleExtensions
{
get { return resp.SingleExtensions; }
}
protected override X509Extensions GetX509Extensions()
{
return SingleExtensions;
}
}
}
|