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;
}
}