using Org.BouncyCastle.Asn1;
namespace Org.BouncyCastle.Asn1.Misc{
/**
* The NetscapeCertType object.
* <pre>
* NetscapeCertType ::= BIT STRING {
* SSLClient (0),
* SSLServer (1),
* S/MIME (2),
* Object Signing (3),
* Reserved (4),
* SSL CA (5),
* S/MIME CA (6),
* Object Signing CA (7) }
* </pre>
*/
public class NetscapeCertType
: DerBitString
{
public const int SslClient = (1 << 7);
public const int SslServer = (1 << 6);
public const int Smime = (1 << 5);
public const int ObjectSigning = (1 << 4);
public const int Reserved = (1 << 3);
public const int SslCA = (1 << 2);
public const int SmimeCA = (1 << 1);
public const int ObjectSigningCA = (1 << 0);
/**
* Basic constructor.
*
* @param usage - the bitwise OR of the Key Usage flags giving the
* allowed uses for the key.
* e.g. (X509NetscapeCertType.sslCA | X509NetscapeCertType.smimeCA)
*/
public NetscapeCertType(int usage)
: base(GetBytes(usage), GetPadBits(usage))
{
}
public NetscapeCertType(DerBitString usage)
: base(usage.GetBytes(), usage.PadBits)
{
}
public override string ToString()
{
byte[] data = GetBytes();
return "NetscapeCertType: 0x" + (data[0] & 0xff).ToString("X");
}
}
}
|