init commit
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
using System.IO;
|
||||
|
||||
namespace Org.BouncyCastle.Asn1;
|
||||
|
||||
public abstract class Asn1Encodable : IAsn1Convertible
|
||||
{
|
||||
public const string Der = "DER";
|
||||
|
||||
public const string Ber = "BER";
|
||||
|
||||
public byte[] GetEncoded()
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
Asn1OutputStream asn1OutputStream = new Asn1OutputStream(memoryStream);
|
||||
asn1OutputStream.WriteObject(this);
|
||||
return memoryStream.ToArray();
|
||||
}
|
||||
|
||||
public byte[] GetEncoded(string encoding)
|
||||
{
|
||||
if (encoding.Equals("DER"))
|
||||
{
|
||||
MemoryStream memoryStream = new MemoryStream();
|
||||
DerOutputStream derOutputStream = new DerOutputStream(memoryStream);
|
||||
derOutputStream.WriteObject(this);
|
||||
return memoryStream.ToArray();
|
||||
}
|
||||
return GetEncoded();
|
||||
}
|
||||
|
||||
public byte[] GetDerEncoded()
|
||||
{
|
||||
try
|
||||
{
|
||||
return GetEncoded("DER");
|
||||
}
|
||||
catch (IOException)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public sealed override int GetHashCode()
|
||||
{
|
||||
return ToAsn1Object().CallAsn1GetHashCode();
|
||||
}
|
||||
|
||||
public sealed override bool Equals(object obj)
|
||||
{
|
||||
if (obj == this)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if (!(obj is IAsn1Convertible asn1Convertible))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
Asn1Object asn1Object = ToAsn1Object();
|
||||
Asn1Object asn1Object2 = asn1Convertible.ToAsn1Object();
|
||||
if (asn1Object != asn1Object2)
|
||||
{
|
||||
return asn1Object.CallAsn1Equals(asn1Object2);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public abstract Asn1Object ToAsn1Object();
|
||||
}
|
||||
Reference in New Issue
Block a user