12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #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.Pkcs
- {
- public class AuthenticatedSafe
- : Asn1Encodable
- {
- private static ContentInfo[] Copy(ContentInfo[] info)
- {
- return (ContentInfo[])info.Clone();
- }
- public static AuthenticatedSafe GetInstance(object obj)
- {
- if (obj is AuthenticatedSafe)
- return (AuthenticatedSafe)obj;
- if (obj == null)
- return null;
- return new AuthenticatedSafe(Asn1Sequence.GetInstance(obj));
- }
- private readonly ContentInfo[] info;
- private readonly bool isBer;
- private AuthenticatedSafe(Asn1Sequence seq)
- {
- info = new ContentInfo[seq.Count];
- for (int i = 0; i != info.Length; i++)
- {
- info[i] = ContentInfo.GetInstance(seq[i]);
- }
- isBer = seq is BerSequence;
- }
- public AuthenticatedSafe(
- ContentInfo[] info)
- {
- this.info = Copy(info);
- this.isBer = true;
- }
- public ContentInfo[] GetContentInfo()
- {
- return Copy(info);
- }
- public override Asn1Object ToAsn1Object()
- {
- if (isBer)
- {
- return new BerSequence(info);
- }
- // TODO bc-java uses DL sequence
- //return new DLSequence(info);
- return new DerSequence(info);
- }
- }
- }
- #pragma warning restore
- #endif
|