newlib/winsup/w32api/include/schannel.h

88 lines
2.5 KiB
C
Raw Normal View History

* include/ntsecpkg.h: New file. * include/schannel.h: New file. * include/schnlsp.h: New file. * include/security.h: New file. * include/sspi.h: New file. * include/ntsecapi.h (KERB_WRAP_NO_ENCRYPT, MICROSOFT_KERBEROS_NAME_[AW]): Add missing constants * include/wincrypt.h (CALG_*, X509_ASN_ENCODING. PKCS_7_ASN_ENCODING, CERT_*, USAGE_MATCH_TYPE_AND, USAGE_MATCH_TYPE_OR, szOID_*): Add missing constants (struct _CRYPTOAPI_BLOB): Add structure and typedefs. (SSL_EXTRA_CERT_CHAIN_POLICY_PARA,HTTPSPolicyCallbackData, CERT_CHAIN_POLICY_PARA,CERT_CHAIN_POLICY_STATUS, CRYPT_ALGORITHM_IDENTIFIER, CRYPT_BIT_BLOB, CERT_PUBLIC_KEY_INFO, CERT_EXTENSION, CERT_INFO, CERT_CONTEXT, CTL_USAGE, CERT_ENHKEY_USAGE, CERT_USAGE_MATCH, CERT_CHAIN_PARA, CERT_CHAIN_FIND_BY_ISSUER_PARA, CERT_TRUST_STATUS, CRL_ENTRY, CRL_INFO, CRL_CONTEXT, CERT_REVOCATION_CRL_INFO, CERT_REVOCATION_INFO, CERT_CHAIN_ELEMENT, CRYPT_ATTRIBUTE, CTL_ENTRY, CTL_INFO, CTL_CONTEXT, CERT_TRUST_LIST_INFO, CERT_SIMPLE_CHAIN, CERT_CHAIN_CONTEXT): Add missing structures. (CertCloseStore, CertGetCertificateChain, CertVerifyCertificateChainPolicy, CertFreeCertificateChain, CertNameToStr[AW], CertOpenSystemStore[AW], CertOpenStore, CertFindCertificateInStore, CertFreeCertificateContext, CertGetIssuerCertificateFromStore, CertFindChainInStore): Add missing functions. (CertNameToStr, CertOpenSystemStore, CERT_FIND_SUBJECT_STR, CERT_FIND_ISSUER_STR): Add Unicode mappings. * lib/crypt32.def: New file. * lib/secur32.def: Add mising stubs. * lib/test.c: Include new headers.
2002-02-14 01:24:52 +01:00
#ifndef _SCHANNEL_H
#define _SCHANNEL_H
#include <wincrypt.h>
#ifdef __cplusplus
extern "C" {
#endif
#define SCHANNEL_CRED_VERSION 4
#define SCHANNEL_SHUTDOWN 1
/* ? Do these belong here or in wincrypt.h */
#define AUTHTYPE_CLIENT 1
#define AUTHTYPE_SERVER 2
#define SP_PROT_TLS1_CLIENT 128
#define SP_PROT_TLS1_SERVER 64
#define SP_PROT_SSL3_CLIENT 32
#define SP_PROT_SSL3_SERVER 16
#define SP_PROT_SSL2_CLIENT 8
#define SP_PROT_SSL2_SERVER 4
#define SP_PROT_PCT1_SERVER 1
#define SP_PROT_PCT1_CLIENT 2
#define SP_PROT_PCT1 (SP_PROT_PCT1_CLIENT|SP_PROT_PCT1_SERVER)
#define SP_PROT_TLS1 (SP_PROT_TLS1_CLIENT|SP_PROT_TLS1_SERVER)
#define SP_PROT_SSL2 (SP_PROT_SSL2_CLIENT|SP_PROT_SSL2_SERVER)
#define SP_PROT_SSL3 (SP_PROT_SSL3_CLIENT|SP_PROT_SSL3_SERVER)
#define SCH_CRED_NO_SYSTEM_MAPPER 2
#define SCH_CRED_NO_SERVERNAME_CHECK 4
#define SCH_CRED_MANUAL_CRED_VALIDATION 8
#define SCH_CRED_NO_DEFAULT_CREDS 16
#define SCH_CRED_AUTO_CRED_VALIDATION 32
#define SCH_CRED_REVOCATION_CHECK_CHAIN 512
#define SCH_CRED_REVOCATION_CHECK_END_CERT 256
#define SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT 1024
#define SCH_CRED_IGNORE_NO_REVOCATION_CHECK 2048
#define SCH_CRED_IGNORE_REVOCATION_OFFLINE 4096
#define SCH_CRED_USE_DEFAULT_CREDS 64
typedef struct _SCHANNEL_CRED {
DWORD dwVersion;
DWORD cCreds;
PCCERT_CONTEXT* paCred;
HCERTSTORE hRootStore;
DWORD cMappers;
struct _HMAPPER** aphMappers;
DWORD cSupportedAlgs;
ALG_ID* palgSupportedAlgs;
DWORD grbitEnabledProtocols;
DWORD dwMinimumCypherStrength;
DWORD dwMaximumCypherStrength;
DWORD dwSessionLifespan;
DWORD dwFlags;
DWORD reserved;
} SCHANNEL_CRED, *PSCHANNEL_CRED;
typedef struct _SecPkgCred_SupportedAlgs {
DWORD cSupportedAlgs;
ALG_ID* palgSupportedAlgs;
} SecPkgCred_SupportedAlgs, *PSecPkgCred_SupportedAlgs;
typedef struct _SecPkgCred_CypherStrengths {
DWORD dwMinimumCypherStrength;
DWORD dwMaximumCypherStrength;
} SecPkgCred_CypherStrengths, *PSecPkgCred_CypherStrengths;
typedef struct _SecPkgCred_SupportedProtocols {
DWORD grbitProtocol;
} SecPkgCred_SupportedProtocols, *PSecPkgCred_SupportedProtocols;
typedef struct _SecPkgContext_IssuerListInfoEx {
PCERT_NAME_BLOB aIssuers;
DWORD cIssuers;
} SecPkgContext_IssuerListInfoEx, *PSecPkgContext_IssuerListInfoEx;
typedef struct _SecPkgContext_ConnectionInfo {
DWORD dwProtocol;
ALG_ID aiCipher;
DWORD dwCipherStrength;
ALG_ID aiHash;
DWORD dwHashStrength;
ALG_ID aiExch;
DWORD dwExchStrength;
} SecPkgContext_ConnectionInfo, *PSecPkgContext_ConnectionInfo;
#ifdef __cplusplus
}
#endif
#endif /* _SCHANNEL_H */