27#define WINAPI __stdcall
30#ifndef __SECSTATUS_DEFINED__
32#define __SECSTATUS_DEFINED__
82#define NCRYPT_KEY_STORAGE_INTERFACE 0x00010001
83#define NCRYPT_SCHANNEL_INTERFACE 0x00010002
84#define NCRYPT_SCHANNEL_SIGNATURE_INTERFACE 0x00010003
85#define NCRYPT_KEY_PROTECTION_INTERFACE 0x00010004
87#define NCRYPT_SILENT_FLAG 0x00000040
89#define NCRYPT_NO_PADDING_FLAG 0x00000001
90#define NCRYPT_PAD_PKCS1_FLAG 0x00000002
91#define NCRYPT_PAD_OAEP_FLAG 0x00000004
92#define NCRYPT_PAD_PSS_FLAG 0x00000008
94#define NCRYPT_ALLOW_DECRYPT_FLAG 0x00000001
95#define NCRYPT_ALLOW_SIGNING_FLAG 0x00000002
96#define NCRYPT_ALLOW_KEY_AGREEMENT_FLAG 0x00000004
97#define NCRYPT_ALLOW_KEY_IMPORT_FLAG 0x00000008
98#define NCRYPT_ALLOW_ALL_USAGES 0x00ffffff
100#define NCRYPT_ALLOW_EXPORT_FLAG 0x00000001
101#define NCRYPT_ALLOW_PLAINTEXT_EXPORT_FLAG 0x00000002
102#define NCRYPT_ALLOW_ARCHIVING_FLAG 0x00000004
103#define NCRYPT_ALLOW_PLAINTEXT_ARCHIVING_FLAG 0x00000008
105#define NCRYPT_NAME_PROPERTY L"Name"
106#define NCRYPT_UNIQUE_NAME_PROPERTY L"Unique Name"
107#define NCRYPT_ALGORITHM_PROPERTY L"Algorithm Name"
108#define NCRYPT_LENGTH_PROPERTY L"Length"
109#define NCRYPT_LENGTHS_PROPERTY L"Lengths"
110#define NCRYPT_BLOCK_LENGTH_PROPERTY L"Block Length"
111#define NCRYPT_UI_POLICY_PROPERTY L"UI Policy"
112#define NCRYPT_EXPORT_POLICY_PROPERTY L"Export Policy"
113#define NCRYPT_WINDOW_HANDLE_PROPERTY L"HWND Handle"
114#define NCRYPT_USE_CONTEXT_PROPERTY L"Use Context"
115#define NCRYPT_IMPL_TYPE_PROPERTY L"Impl Type"
116#define NCRYPT_KEY_USAGE_PROPERTY L"Key Usage"
117#define NCRYPT_KEY_TYPE_PROPERTY L"Key Type"
118#define NCRYPT_VERSION_PROPERTY L"Version"
119#define NCRYPT_SECURITY_DESCR_SUPPORT_PROPERTY L"Security Descr Support"
120#define NCRYPT_SECURITY_DESCR_PROPERTY L"Security Descr"
121#define NCRYPT_USE_COUNT_ENABLED_PROPERTY L"Enabled Use Count"
122#define NCRYPT_USE_COUNT_PROPERTY L"Use Count"
123#define NCRYPT_LAST_MODIFIED_PROPERTY L"Modified"
124#define NCRYPT_MAX_NAME_LENGTH_PROPERTY L"Max Name Length"
125#define NCRYPT_ALGORITHM_GROUP_PROPERTY L"Algorithm Group"
126#define NCRYPT_PROVIDER_HANDLE_PROPERTY L"Provider Handle"
127#define NCRYPT_PIN_PROPERTY L"SmartCardPin"
128#define NCRYPT_READER_PROPERTY L"SmartCardReader"
129#define NCRYPT_SMARTCARD_GUID_PROPERTY L"SmartCardGuid"
130#define NCRYPT_CERTIFICATE_PROPERTY L"SmartCardKeyCertificate"
131#define NCRYPT_PIN_PROMPT_PROPERTY L"SmartCardPinPrompt"
132#define NCRYPT_USER_CERTSTORE_PROPERTY L"SmartCardUserCertStore"
133#define NCRYPT_ROOT_CERTSTORE_PROPERTY L"SmartcardRootCertStore"
134#define NCRYPT_SECURE_PIN_PROPERTY L"SmartCardSecurePin"
135#define NCRYPT_ASSOCIATED_ECDH_KEY L"SmartCardAssociatedECDHKey"
136#define NCRYPT_SCARD_PIN_ID L"SmartCardPinId"
137#define NCRYPT_SCARD_PIN_INFO L"SmartCardPinInfo"
SECURITY_STATUS WINAPI NCryptFreeObject(NCRYPT_HANDLE)
struct _NCryptBufferDesc * PNCryptBufferDesc
SECURITY_STATUS WINAPI NCryptDecrypt(NCRYPT_KEY_HANDLE, BYTE *, DWORD, void *, BYTE *, DWORD, DWORD *, DWORD)
SECURITY_STATUS WINAPI NCryptEncrypt(NCRYPT_KEY_HANDLE, BYTE *, DWORD, void *, BYTE *, DWORD, DWORD *, DWORD)
SECURITY_STATUS WINAPI NCryptOpenStorageProvider(NCRYPT_PROV_HANDLE *, const WCHAR *, DWORD)
ULONG_PTR NCRYPT_SECRET_HANDLE
SECURITY_STATUS WINAPI NCryptSetProperty(NCRYPT_HANDLE, const WCHAR *, BYTE *, DWORD, DWORD)
struct _NCryptBufferDesc NCryptBufferDesc
struct _NCryptBuffer * PNCryptBuffer
SECURITY_STATUS WINAPI NCryptExportKey(NCRYPT_KEY_HANDLE, NCRYPT_KEY_HANDLE, const WCHAR *, NCryptBufferDesc *, BYTE *, DWORD, DWORD *, DWORD)
SECURITY_STATUS WINAPI NCryptOpenKey(NCRYPT_PROV_HANDLE, NCRYPT_KEY_HANDLE *, const WCHAR *, DWORD, DWORD)
struct _NCryptAlgorithmName NCryptAlgorithmName
SECURITY_STATUS WINAPI NCryptImportKey(NCRYPT_PROV_HANDLE, NCRYPT_KEY_HANDLE, const WCHAR *, NCryptBufferDesc *, NCRYPT_KEY_HANDLE *, BYTE *, DWORD, DWORD)
SECURITY_STATUS WINAPI NCryptCreatePersistedKey(NCRYPT_PROV_HANDLE, NCRYPT_KEY_HANDLE *, const WCHAR *, const WCHAR *, DWORD, DWORD)
ULONG_PTR NCRYPT_PROV_HANDLE
SECURITY_STATUS WINAPI NCryptGetProperty(NCRYPT_HANDLE, const WCHAR *, BYTE *, DWORD, DWORD *, DWORD)
SECURITY_STATUS WINAPI NCryptFinalizeKey(NCRYPT_KEY_HANDLE, DWORD)
SECURITY_STATUS WINAPI NCryptIsAlgSupported(NCRYPT_PROV_HANDLE, const WCHAR *, DWORD)
ULONG_PTR NCRYPT_HASH_HANDLE
SECURITY_STATUS WINAPI NCryptSignHash(NCRYPT_KEY_HANDLE, void *, BYTE *, DWORD, BYTE *, DWORD, DWORD *, DWORD)
struct _NCryptBuffer NCryptBuffer
struct __NCRYPT_UI_POLICY NCRYPT_UI_POLICY
ULONG_PTR NCRYPT_KEY_HANDLE
SECURITY_STATUS WINAPI NCryptVerifySignature(NCRYPT_KEY_HANDLE, void *, BYTE *, DWORD, BYTE *, DWORD, DWORD)
struct __NCRYPT_SUPPORTED_LENGTHS NCRYPT_SUPPORTED_LENGTHS