Add include.
[chromium-blink-merge.git] / net / cert / sha256_legacy_support_win.h
blobc98414ca94b882d5b060a91fe6c6795a9b327c09
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef NET_CERT_SHA256_LEGACY_SUPPORT_WIN_H_
6 #define NET_CERT_SHA256_LEGACY_SUPPORT_WIN_H_
8 #include <windows.h>
9 #include <wincrypt.h>
11 #include "net/base/net_export.h"
13 namespace net {
15 namespace sha256_interception {
17 typedef BOOL (WINAPI* CryptVerifyCertificateSignatureExFunc)(
18 HCRYPTPROV_LEGACY provider,
19 DWORD encoding_type,
20 DWORD subject_type,
21 void* subject_data,
22 DWORD issuer_type,
23 void* issuer_data,
24 DWORD flags,
25 void* extra);
27 // Interception function meant to be called whenever
28 // CryptVerifyCertificateSignatureEx is called. Note that the calling
29 // conventions do not match, as the caller is expected to ensure that their
30 // interposed function handles the calling conventions and provides a pointer
31 // to the original CryptVerifyCertificateSignatureEx (e.g. to handle parameters
32 // and keys that are not supported).
33 NET_EXPORT BOOL CryptVerifyCertificateSignatureExHook(
34 CryptVerifyCertificateSignatureExFunc original_func,
35 HCRYPTPROV_LEGACY provider,
36 DWORD encoding_type,
37 DWORD subject_type,
38 void* subject_data,
39 DWORD issuer_type,
40 void* issuer_data,
41 DWORD flags,
42 void* extra);
44 } // namespace sha256_interception
46 } // namespace net
48 #endif // NET_CERT_SHA256_LEGACY_SUPPORT_WIN_H_