123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
- #pragma warning disable
- using System;
- using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1;
- namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509
- {
- public class AttributeCertificate
- : Asn1Encodable
- {
- private readonly AttributeCertificateInfo acinfo;
- private readonly AlgorithmIdentifier signatureAlgorithm;
- private readonly DerBitString signatureValue;
- /**
- * @param obj
- * @return
- */
- public static AttributeCertificate GetInstance(
- object obj)
- {
- if (obj is AttributeCertificate)
- return (AttributeCertificate) obj;
- if (obj != null)
- return new AttributeCertificate(Asn1Sequence.GetInstance(obj));
- return null;
- }
- public AttributeCertificate(
- AttributeCertificateInfo acinfo,
- AlgorithmIdentifier signatureAlgorithm,
- DerBitString signatureValue)
- {
- this.acinfo = acinfo;
- this.signatureAlgorithm = signatureAlgorithm;
- this.signatureValue = signatureValue;
- }
- private AttributeCertificate(
- Asn1Sequence seq)
- {
- if (seq.Count != 3)
- throw new ArgumentException("Bad sequence size: " + seq.Count);
- this.acinfo = AttributeCertificateInfo.GetInstance(seq[0]);
- this.signatureAlgorithm = AlgorithmIdentifier.GetInstance(seq[1]);
- this.signatureValue = DerBitString.GetInstance(seq[2]);
- }
- public AttributeCertificateInfo ACInfo
- {
- get { return acinfo; }
- }
- public AlgorithmIdentifier SignatureAlgorithm
- {
- get { return signatureAlgorithm; }
- }
- public DerBitString SignatureValue
- {
- get { return signatureValue; }
- }
- public byte[] GetSignatureOctets()
- {
- return signatureValue.GetOctets();
- }
- /**
- * Produce an object suitable for an Asn1OutputStream.
- * <pre>
- * AttributeCertificate ::= Sequence {
- * acinfo AttributeCertificateInfo,
- * signatureAlgorithm AlgorithmIdentifier,
- * signatureValue BIT STRING
- * }
- * </pre>
- */
- public override Asn1Object ToAsn1Object()
- {
- return new DerSequence(acinfo, signatureAlgorithm, signatureValue);
- }
- }
- }
- #pragma warning restore
- #endif
|