示例#1
0
        public static DSTU4145Params GetInstance(Object obj)
        {
            if (obj is DSTU4145Params)
            {
                return((DSTU4145Params)obj);
            }

            if (obj != null)
            {
                Asn1Sequence   seq = Asn1Sequence.GetInstance(obj);
                DSTU4145Params paramsValue;

                if (seq.GetObjectAt(0) is DerObjectIdentifier)
                {
                    paramsValue = new DSTU4145Params(DerObjectIdentifier.GetInstance(seq.GetObjectAt(0)));
                }
                else
                {
                    paramsValue = new DSTU4145Params(DSTU4145ECBinary.GetInstance(seq.GetObjectAt(0)));
                }

                if (seq.Size == 2)
                {
                    paramsValue.dke = Asn1OctetString.GetInstance(seq.GetObjectAt(1)).GetOctets();
                    if (paramsValue.dke.Length != DSTU4145Params.DEFAULT_DKE.Length)
                    {
                        throw new ArgumentException("object parse error");
                    }
                }

                return(paramsValue);
            }

            throw new ArgumentException("object parse error");
        }
示例#2
0
 public DSTU4145Params(DSTU4145ECBinary ecbinary)
 {
     this.ecbinary = ecbinary;
 }