blob: ed23480ac046471a6e534156d12cccade18842c7 [file] [log] [blame]
// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef BASE_WIN_WINCRYPT_SHIM_H_
#define BASE_WIN_WINCRYPT_SHIM_H_
// wincrypt.h defines macros which conflict with OpenSSL's types. This header
// includes wincrypt and undefines the OpenSSL macros which conflict. Any
// Chromium headers which include wincrypt should instead include this header.
#include <windows.h>
#include <wincrypt.h>
// Undefine the macros which conflict with OpenSSL and define replacements. See
// http://msdn.microsoft.com/en-us/library/windows/desktop/aa378145(v=vs.85).aspx
#undef PKCS7_SIGNER_INFO
#undef X509_CERT_PAIR
#undef X509_EXTENSIONS
#undef X509_NAME
#define WINCRYPT_PKCS7_SIGNER_INFO ((LPCSTR)500)
#define WINCRYPT_X509_CERT_PAIR ((LPCSTR)53)
#define WINCRYPT_X509_EXTENSIONS ((LPCSTR)5)
#define WINCRYPT_X509_NAME ((LPCSTR)7)
#endif // BASE_WIN_WINCRYPT_SHIM_H_