using System;
using Org.BouncyCastle.Asn1;
using Org.BouncyCastle.Asn1.Cmp;
namespace Org.BouncyCastle.Cmp
{
public class GeneralPkiMessage
{
private readonly PkiMessage pkiMessage;
private static PkiMessage ParseBytes(byte[] encoding)
{
return PkiMessage.GetInstance(Asn1Object.FromByteArray(encoding));
}
///
/// Wrap a PKIMessage ASN.1 structure.
///
/// PKI message.
public GeneralPkiMessage(PkiMessage pkiMessage)
{
this.pkiMessage = pkiMessage;
}
///
/// Create a PKIMessage from the passed in bytes.
///
/// BER/DER encoding of the PKIMessage
public GeneralPkiMessage(byte[] encoding)
: this(ParseBytes(encoding))
{
}
public PkiHeader Header
{
get { return pkiMessage.Header; }
}
public PkiBody Body
{
get { return pkiMessage.Body; }
}
///
/// Return true if this message has protection bits on it. A return value of true
/// indicates the message can be used to construct a ProtectedPKIMessage.
///
public bool HasProtection
{
get { return pkiMessage.Protection != null; }
}
public PkiMessage ToAsn1Structure()
{
return pkiMessage;
}
}
}