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,64 @@
using System;
namespace Org.BouncyCastle.Asn1.X509;
public class SubjectPublicKeyInfo : Asn1Encodable
{
private readonly AlgorithmIdentifier algID;
private readonly DerBitString keyData;
public AlgorithmIdentifier AlgorithmID => algID;
public DerBitString PublicKeyData => keyData;
public static SubjectPublicKeyInfo GetInstance(Asn1TaggedObject obj, bool explicitly)
{
return GetInstance(Asn1Sequence.GetInstance(obj, explicitly));
}
public static SubjectPublicKeyInfo GetInstance(object obj)
{
if (obj is SubjectPublicKeyInfo)
{
return (SubjectPublicKeyInfo)obj;
}
if (obj != null)
{
return new SubjectPublicKeyInfo(Asn1Sequence.GetInstance(obj));
}
return null;
}
public SubjectPublicKeyInfo(AlgorithmIdentifier algID, Asn1Encodable publicKey)
{
keyData = new DerBitString(publicKey);
this.algID = algID;
}
public SubjectPublicKeyInfo(AlgorithmIdentifier algID, byte[] publicKey)
{
keyData = new DerBitString(publicKey);
this.algID = algID;
}
private SubjectPublicKeyInfo(Asn1Sequence seq)
{
if (seq.Count != 2)
{
throw new ArgumentException("Bad sequence size: " + seq.Count, "seq");
}
algID = AlgorithmIdentifier.GetInstance(seq[0]);
keyData = DerBitString.GetInstance(seq[1]);
}
public Asn1Object GetPublicKey()
{
return Asn1Object.FromByteArray(keyData.GetOctets());
}
public override Asn1Object ToAsn1Object()
{
return new DerSequence(algID, keyData);
}
}