public void Validate()

in UProveCrypto/IssuerSetupParameters.cs [139:180]


        public void Validate()
        {
            if (ip.Gq != null)
            {
                try
                {
                    ip.Gq.Verify();
                }
                catch (InvalidUProveArtifactException e)
                {
                    throw new ArgumentException(e.Message);
                }
            }

            if (ip.UidP == null)
            {
                throw new ArgumentNullException("UidP is null");
            }

            try
            {
                HashFunction h = ip.HashFunction;
            }
            catch (Exception)
            {
                throw new ArgumentException("Hash algorithm specified by UidH is not supported:" + ip.UidH);
            }

            if (ip.E == null)
            {
                throw new ArgumentNullException("E is null");
            }

            if (ip.E.Length > RecommendedParametersMaxNumberOfAttributes)
            {
                if (useRecommendedParameterSet.HasValue && useRecommendedParameterSet.Value)
                {
                    throw new ArgumentException("When using recommended parameters, the maximum number of attributes is " + RecommendedParametersMaxNumberOfAttributes);
                }
                useRecommendedParameterSet = false;
            }
        }