Commit 0556e9d9 authored by Juan Lang's avatar Juan Lang Committed by Alexandre Julliard

crypt32: Correct trust error status for cyclic chains.

parent 5a36d489
......@@ -754,13 +754,11 @@ static void CRYPT_CheckSimpleChain(PCertificateChainEngine engine,
if (CRYPT_IsSimpleChainCyclic(chain))
{
/* If the chain is cyclic, then the path length constraints
* are violated, because the chain is infinitely long. MS
* misleadingly also sets the not supported name constraint bit,
* whether or not name constraints were present.
* are violated, because the chain is infinitely long.
*/
pathLengthConstraintViolated = TRUE;
chain->TrustStatus.dwErrorStatus |=
CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT |
CERT_TRUST_IS_PARTIAL_CHAIN |
CERT_TRUST_INVALID_BASIC_CONSTRAINTS;
}
/* FIXME: check valid usages */
......
......@@ -1527,7 +1527,7 @@ static ChainCheck chainCheck[] = {
TODO_ERROR },
{ { sizeof(chain9) / sizeof(chain9[0]), chain9 },
{ { CERT_TRUST_IS_NOT_TIME_NESTED, CERT_TRUST_HAS_PREFERRED_ISSUER },
{ CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT |
{ CERT_TRUST_IS_PARTIAL_CHAIN |
CERT_TRUST_INVALID_BASIC_CONSTRAINTS | CERT_TRUST_IS_CYCLIC, 0 },
1, simpleStatus9 },
TODO_INFO },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment