Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
14b0df1f
Commit
14b0df1f
authored
Aug 30, 2007
by
Juan Lang
Committed by
Alexandre Julliard
Aug 31, 2007
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
crypt32: Set error status on issued certificate, not on issuer.
parent
1ce46d5e
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
16 additions
and
8 deletions
+16
-8
chain.c
dlls/crypt32/chain.c
+15
-7
chain.c
dlls/crypt32/tests/chain.c
+1
-1
No files found.
dlls/crypt32/chain.c
View file @
14b0df1f
...
...
@@ -287,17 +287,25 @@ static BOOL CRYPT_AddCertToSimpleChain(PCertificateChainEngine engine,
(
chain
->
cElement
+
1
)
*
sizeof
(
PCERT_CHAIN_ELEMENT
));
if
(
chain
->
rgpElement
)
{
chain
->
rgpElement
[
chain
->
cElement
++
]
=
element
;
memset
(
element
,
0
,
sizeof
(
CERT_CHAIN_ELEMENT
));
element
->
cbSize
=
sizeof
(
CERT_CHAIN_ELEMENT
);
element
->
pCertContext
=
CertDuplicateCertificateContext
(
cert
);
if
(
dwFlags
&
CERT_STORE_REVOCATION_FLAG
&&
!
(
dwFlags
&
CERT_STORE_NO_CRL_FLAG
))
element
->
TrustStatus
.
dwErrorStatus
|=
CERT_TRUST_IS_REVOKED
;
if
(
dwFlags
&
CERT_STORE_SIGNATURE_FLAG
)
element
->
TrustStatus
.
dwErrorStatus
|=
CERT_TRUST_IS_NOT_SIGNATURE_VALID
;
/* Flags, if set, refer to the element this cert issued, so set
* the preceding element's error accordingly
*/
if
(
chain
->
cElement
>
1
)
{
if
(
dwFlags
&
CERT_STORE_REVOCATION_FLAG
&&
!
(
dwFlags
&
CERT_STORE_NO_CRL_FLAG
))
chain
->
rgpElement
[
chain
->
cElement
-
2
]
->
TrustStatus
.
dwErrorStatus
|=
CERT_TRUST_IS_REVOKED
;
if
(
dwFlags
&
CERT_STORE_SIGNATURE_FLAG
)
chain
->
rgpElement
[
chain
->
cElement
-
2
]
->
TrustStatus
.
dwErrorStatus
|=
CERT_TRUST_IS_NOT_SIGNATURE_VALID
;
}
/* FIXME: initialize the rest of element */
chain
->
rgpElement
[
chain
->
cElement
++
]
=
element
;
if
(
chain
->
cElement
%
engine
->
CycleDetectionModulus
)
CRYPT_CheckSimpleChainForCycles
(
chain
);
CRYPT_CombineTrustStatus
(
&
chain
->
TrustStatus
,
...
...
dlls/crypt32/tests/chain.c
View file @
14b0df1f
...
...
@@ -1491,7 +1491,7 @@ static ChainCheck chainCheck[] = {
{
CERT_TRUST_IS_UNTRUSTED_ROOT
|
CERT_TRUST_IS_NOT_SIGNATURE_VALID
|
CERT_TRUST_IS_NOT_TIME_VALID
,
0
},
1
,
simpleStatus1
},
TODO_
ERROR
|
TODO_
INFO
},
TODO_INFO
},
{
{
sizeof
(
chain2
)
/
sizeof
(
chain2
[
0
]),
chain2
},
{
{
0
,
CERT_TRUST_HAS_PREFERRED_ISSUER
},
{
CERT_TRUST_IS_UNTRUSTED_ROOT
|
CERT_TRUST_IS_NOT_TIME_VALID
,
0
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment