blob: a823aac89ecad1fbbeff1a2da065359f6e854d27 [file] [log] [blame]
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package rdpclient.ntlmssp;
public interface NtlmConstants {
/**
* Attribute type: Indicates that this is the last AV_PAIR in the list. AvLen
* MUST be 0. This type of information MUST be present in the AV pair list.
*/
public final static int MSV_AV_EOL = 0x0000;
/**
* Attribute type: The server's NetBIOS computer name. The name MUST be in
* Unicode, and is not null-terminated. This type of information MUST be
* present in the AV_pair list.
*/
public final static int MSV_AV_NETBIOS_COMPUTER_NAME = 0x0001;
/**
* Attribute type: The server's NetBIOS domain name. The name MUST be in
* Unicode, and is not null-terminated. This type of information MUST be
* present in the AV_pair list.
*/
public final static int MSV_AV_NETBIOS_DOMAIN_NAME = 0x0002;
/**
* Attribute type: The fully qualified domain name (FQDN (1)) of the computer.
* The name MUST be in Unicode, and is not null-terminated.
*/
public final static int MSV_AV_DNS_COMPUTER_NAME = 0x0003;
/**
* Attribute type: The FQDN of the domain. The name MUST be in Unicode, and is
* not null-terminated.
*/
public final static int MSV_AV_DNS_DOMAIN_NAME = 0x0004;
/**
* Attribute type: The FQDN of the forest. The name MUST be in Unicode, and is
* not null-terminated.
*/
public final static int MSV_AV_DNS_TREE_NAME = 0x0005;
/**
* Attribute type: A 32-bit value indicating server or client configuration.
*
* <li>0x00000001: indicates to the client that the account authentication is
* constrained.
*
* <li>0x00000002: indicates that the client is providing message integrity in
* the MIC field (section 2.2.1.3) in the AUTHENTICATE_MESSAGE.
*
* <li>0x00000004: indicates that the client is providing a target SPN
* generated from an untrusted source.
**/
public final static int MSV_AV_FLAGS = 0x0006;
public static final int MSV_AV_FLAGS_MESSAGE_INTEGRITY_CHECK = 0x00000002;
/**
* Attribute type: A FILETIME structure ([MS-DTYP] section 2.3.3) in
* little-endian byte order that contains the server local time.
*/
public final static int MSV_AV_TIMESTAMP = 0x0007;
/**
* Attribute type: A Single_Host_Data (section 2.2.2.2) structure. The Value
* field contains a platform-specific blob, as well as a MachineID created at
* computer startup to identify the calling machine.<15>
*/
public final static int MSV_AV_SINGLE_HOST = 0x0008;
/**
* Attribute type: The SPN of the target server. The name MUST be in Unicode
* and is not null-terminated.<16>
*/
public final static int MSV_AV_TARGET_NAME = 0x0009;
/**
* Attribute type: A channel bindings hash. The Value field contains an MD5
* hash ([RFC4121] section 4.1.1.2) of a gss_channel_bindings_struct
* ([RFC2744] section 3.11). An all-zero value of the hash is used to indicate
* absence of channel bindings.
*/
public final static int MSV_AV_CHANNEL_BINDINGS = 0x000A;
/**
* Signature of NTLMSSP blob.
*/
public static final String NTLMSSP = "NTLMSSP";
public static final String GSS_RDP_SERVICE_NAME = "TERMSRV";
/**
* NTLM message type: NEGOTIATE.
*/
public static final int NEGOTIATE = 0x00000001;
/**
* NTLM message type: CHALLENGE.
*/
public static final int CHALLENGE = 0x00000002;
/**
* NTLM message type: NTLMSSP_AUTH.
*/
public static final int NTLMSSP_AUTH = 0x00000003;
public static final String OID_SPNEGO = "1.3.6.1.5.5.2";
public static final String OID_KERBEROS5 = "1.2.840.113554.1.2.2";
public static final String OID_MSKERBEROS5 = "1.2.840.48018.1.2.2";
public static final String OID_KRB5USERTOUSER = "1.2.840.113554.1.2.2.3";
public static final String OID_NTLMSSP = "1.3.6.1.4.1.311.2.2.10";
/**
* Magic constant used in calculation of Lan Manager response.
*/
public static final String LM_MAGIC = "KGS!@#$%";
/**
* Magic constant used in generation of client signing key.
*/
public static final String CLIENT_SIGN_MAGIC = "session key to client-to-server signing key magic constant";
/**
* Magic constant used in generation of client sealing key.
*/
public static final String CLIENT_SEAL_MAGIC = "session key to client-to-server sealing key magic constant";
public static final String SERVER_SIGN_MAGIC = "session key to server-to-client signing key magic constant";
public static final String SERVER_SEAL_MAGIC = "session key to server-to-client sealing key magic constant";
/**
* In Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008,
* Windows 7, Windows Server 2008 R2, Windows 8, Windows Server 2012, Windows
* 8.1, and Windows Server 2012 R2, the maximum lifetime of challenge is 36 hours.
*/
public static final int CHALLENGE_MAX_LIFETIME = 36 * 60 * 60;
}