Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

102 lines
2.4 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992 - 1995.
  5. //
  6. // File: sslp.h
  7. //
  8. // Contents:
  9. //
  10. // Classes:
  11. //
  12. // Functions:
  13. //
  14. // History: 10-02-96 RichardW Created
  15. //
  16. //----------------------------------------------------------------------------
  17. #define SECURITY_PACKAGE
  18. #define _SSL_WSP_
  19. #include <spbasei.h>
  20. #include <security.h>
  21. #include <secint.h>
  22. #include "ssldebug.h"
  23. #include "proto.h"
  24. #include "userctxt.h"
  25. #define CALLBACK_GET_KEYS 1
  26. #define CALLBACK_DO_MAPPING 2
  27. extern HINSTANCE hDllInstance ;
  28. extern PLSA_SECPKG_FUNCTION_TABLE LsaTable ;
  29. extern TOKEN_SOURCE SslTokenSource ;
  30. extern SECURITY_STRING SslNamePrefix ;
  31. extern SECURITY_STRING SslComputerName ;
  32. extern SECURITY_STRING SslDomainName ;
  33. extern SECURITY_STRING SslPackageName ;
  34. extern SECURITY_STRING SslMsvName ;
  35. NTSTATUS
  36. NTAPI
  37. SslDoClientRequest(
  38. IN PLSA_CLIENT_REQUEST ClientRequest,
  39. IN PVOID ProtocolSubmitBuffer,
  40. IN PVOID ClientBufferBase,
  41. IN ULONG SubmitBufferLen,
  42. OUT PVOID * ProtocolReturnBuffer,
  43. OUT PULONG ReturnBufferLength,
  44. OUT PNTSTATUS ProtocolStatus
  45. );
  46. NTSTATUS
  47. NTAPI
  48. SslMapExternalCredential(
  49. IN PLSA_CLIENT_REQUEST ClientRequest,
  50. IN PVOID ProtocolSubmitBuffer,
  51. IN PVOID ClientBufferBase,
  52. IN ULONG SubmitBufferLen,
  53. OUT PVOID * ProtocolReturnBuffer,
  54. OUT PULONG ReturnBufferLength,
  55. OUT PNTSTATUS ProtocolStatus
  56. );
  57. NTSTATUS
  58. SslDuplicateString(
  59. PUNICODE_STRING Dest,
  60. PUNICODE_STRING Source
  61. );
  62. #define REQ_UPN_MAPPING 0x00000010
  63. #define REQ_SUBJECT_MAPPING 0x00000020
  64. #define REQ_ISSUER_MAPPING 0x00000040
  65. #define REQ_ISSUER_CHAIN_MAPPING 0x00000080
  66. typedef struct _SSL_CERT_NAME_INFO {
  67. ULONG IssuerOffset; // ASN1 encoded
  68. ULONG IssuerLength;
  69. } SSL_CERT_NAME_INFO, * PSSL_CERT_NAME_INFO;
  70. typedef struct _SSL_CERT_LOGON_REQ {
  71. ULONG MessageType ;
  72. ULONG Length ;
  73. ULONG OffsetCertificate ;
  74. ULONG CertLength ;
  75. ULONG Flags;
  76. ULONG CertCount;
  77. SSL_CERT_NAME_INFO NameInfo[1];
  78. } SSL_CERT_LOGON_REQ, * PSSL_CERT_LOGON_REQ ;
  79. typedef struct _SSL_CERT_LOGON_RESP {
  80. ULONG MessageType ;
  81. ULONG Length ;
  82. ULONG OffsetAuthData ;
  83. ULONG AuthDataLength ;
  84. ULONG Flags ;
  85. ULONG OffsetDomain ;
  86. ULONG DomainLength ;
  87. ULONG Align ;
  88. } SSL_CERT_LOGON_RESP, * PSSL_CERT_LOGON_RESP ;