// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Based on [MS-NLMP]: NT LAN Manager (NTLM) Authentication Protocol // Specification version 28.0 [1], an unofficial NTLM reference [2], and a // blog post describing Extended Protection for Authentication [3]. // // [1] https://msdn.microsoft.com/en-us/library/cc236621.aspx // [2] http://davenport.sourceforge.net/ntlm.html // [3] // https://blogs.msdn.microsoft.com/openspecification/2013/03/26/ntlm-and-channel-binding-hash-aka-extended-protection-for-authentication/ #ifndef NET_NTLM_NTLM_CLIENT_H_ #define NET_NTLM_NTLM_CLIENT_H_ #include <stddef.h> #include <stdint.h> #include <memory> #include <string> #include "base/check.h" #include "base/containers/span.h" #include "net/base/net_export.h" #include "net/ntlm/ntlm_constants.h" namespace net::ntlm { // Provides an implementation of an NTLMv1 or NTLMv2 Client with support // for MIC and EPA [1]. This implementation does not support the key exchange, // signing or sealing feature as the NTLMSSP_NEGOTIATE_KEY_EXCH flag is never // negotiated. // // [1] - // https://support.microsoft.com/en-us/help/968389/extended-protection-for-authentication class NET_EXPORT_PRIVATE NtlmClient { … }; } // namespace net::ntlm #endif // NET_NTLM_NTLM_CLIENT_H_