init commit

This commit is contained in:
2025-10-09 09:57:24 +09:00
commit 4d551bd74f
6636 changed files with 1218703 additions and 0 deletions

View File

@@ -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();
}