1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
- #pragma warning disable
- using System;
- using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
- using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
- namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cmp
- {
- public class CertStatus
- : Asn1Encodable
- {
- private readonly Asn1OctetString certHash;
- private readonly DerInteger certReqId;
- private readonly PkiStatusInfo statusInfo;
- private CertStatus(Asn1Sequence seq)
- {
- certHash = Asn1OctetString.GetInstance(seq[0]);
- certReqId = DerInteger.GetInstance(seq[1]);
- if (seq.Count > 2)
- {
- statusInfo = PkiStatusInfo.GetInstance(seq[2]);
- }
- }
- public CertStatus(byte[] certHash, BigInteger certReqId)
- {
- this.certHash = new DerOctetString(certHash);
- this.certReqId = new DerInteger(certReqId);
- }
- public CertStatus(byte[] certHash, BigInteger certReqId, PkiStatusInfo statusInfo)
- {
- this.certHash = new DerOctetString(certHash);
- this.certReqId = new DerInteger(certReqId);
- this.statusInfo = statusInfo;
- }
- public static CertStatus GetInstance(object obj)
- {
- if (obj is CertStatus)
- return (CertStatus)obj;
- if (obj is Asn1Sequence)
- return new CertStatus((Asn1Sequence)obj);
- throw new ArgumentException("Invalid object: " + BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Platform.GetTypeName(obj), "obj");
- }
- public virtual Asn1OctetString CertHash
- {
- get { return certHash; }
- }
- public virtual DerInteger CertReqID
- {
- get { return certReqId; }
- }
- public virtual PkiStatusInfo StatusInfo
- {
- get { return statusInfo; }
- }
- /**
- * <pre>
- * CertStatus ::= SEQUENCE {
- * certHash OCTET STRING,
- * -- the hash of the certificate, using the same hash algorithm
- * -- as is used to create and verify the certificate signature
- * certReqId INTEGER,
- * -- to match this confirmation with the corresponding req/rep
- * statusInfo PKIStatusInfo OPTIONAL
- * }
- * </pre>
- * @return a basic ASN.1 object representation.
- */
- public override Asn1Object ToAsn1Object()
- {
- Asn1EncodableVector v = new Asn1EncodableVector(certHash, certReqId);
- v.AddOptional(statusInfo);
- return new DerSequence(v);
- }
- }
- }
- #pragma warning restore
- #endif
|