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,86 @@
using System;
namespace Org.BouncyCastle.Asn1.Crmf;
public class CertReqMsg : Asn1Encodable
{
private readonly CertRequest certReq;
private readonly ProofOfPossession popo;
private readonly Asn1Sequence regInfo;
public virtual CertRequest CertReq => certReq;
public virtual ProofOfPossession Popo => popo;
private CertReqMsg(Asn1Sequence seq)
{
certReq = CertRequest.GetInstance(seq[0]);
for (int i = 1; i < seq.Count; i++)
{
object obj = seq[i];
if (obj is Asn1TaggedObject || obj is ProofOfPossession)
{
popo = ProofOfPossession.GetInstance(obj);
}
else
{
regInfo = Asn1Sequence.GetInstance(obj);
}
}
}
public static CertReqMsg GetInstance(object obj)
{
if (obj is CertReqMsg)
{
return (CertReqMsg)obj;
}
if (obj != null)
{
return new CertReqMsg(Asn1Sequence.GetInstance(obj));
}
return null;
}
public static CertReqMsg GetInstance(Asn1TaggedObject obj, bool isExplicit)
{
return GetInstance(Asn1Sequence.GetInstance(obj, isExplicit));
}
public CertReqMsg(CertRequest certReq, ProofOfPossession popo, AttributeTypeAndValue[] regInfo)
{
if (certReq == null)
{
throw new ArgumentNullException("certReq");
}
this.certReq = certReq;
this.popo = popo;
if (regInfo != null)
{
this.regInfo = new DerSequence(regInfo);
}
}
public virtual AttributeTypeAndValue[] GetRegInfo()
{
if (regInfo == null)
{
return null;
}
AttributeTypeAndValue[] array = new AttributeTypeAndValue[regInfo.Count];
for (int i = 0; i != array.Length; i++)
{
array[i] = AttributeTypeAndValue.GetInstance(regInfo[i]);
}
return array;
}
public override Asn1Object ToAsn1Object()
{
Asn1EncodableVector asn1EncodableVector = new Asn1EncodableVector(certReq);
asn1EncodableVector.AddOptional(popo, regInfo);
return new DerSequence(asn1EncodableVector);
}
}