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.
302 lines
9.9 KiB
302 lines
9.9 KiB
// Copyright (c) 2000-2004 Microsoft Corporation
|
|
// WMI Class Definitions for Network Security Provider of SCE
|
|
// Version 1.0
|
|
|
|
#pragma autorecover
|
|
#pragma classflags("forceupdate")
|
|
|
|
#pragma namespace("\\\\.\\root")
|
|
|
|
instance of __Namespace
|
|
{
|
|
Name = "Security";
|
|
};
|
|
|
|
#pragma namespace("\\\\.\\root\\Security")
|
|
|
|
instance of __Namespace
|
|
{
|
|
Name = "NetSecProv";
|
|
};
|
|
|
|
#pragma namespace("\\\\.\\root\\Security\\NetSecProv")
|
|
|
|
//**************************************************************************
|
|
//* Declare an instance of the __Win32Provider so as to "register" the
|
|
//* PodTest provider.
|
|
//**************************************************************************
|
|
|
|
|
|
instance of __Win32Provider as $P
|
|
{
|
|
Name = "Network Security Provider of SCE" ;
|
|
ClsId = "{da63cc36-ade4-456c-893c-3006074fa73c}" ;
|
|
ImpersonationLevel = 1;
|
|
PerUserInitialization = TRUE;
|
|
HostingModel = "NetworkServiceHost";
|
|
};
|
|
|
|
instance of __InstanceProviderRegistration
|
|
{
|
|
Provider = $P;
|
|
SupportsPut = TRUE;
|
|
SupportsGet = TRUE;
|
|
SupportsDelete = TRUE;
|
|
SupportsEnumeration = TRUE;
|
|
QuerySupportLevels = {"WQL:UnarySelect"};
|
|
};
|
|
|
|
instance of __MethodProviderRegistration
|
|
{
|
|
Provider = $P;
|
|
};
|
|
|
|
//
|
|
// Provider registration is complete by here.
|
|
// The following sections are registering individual classes.
|
|
//
|
|
|
|
|
|
[dynamic, singleton, provider("Network Security Provider of SCE")]
|
|
class Nsp_TcpSettings
|
|
{
|
|
uint32 dwUnbindNetBIOS;
|
|
uint32 dwUnbindServices;
|
|
};
|
|
|
|
[dynamic, provider("Network Security Provider of SCE")]
|
|
class Nsp_IPConfigSettings
|
|
{
|
|
[key] string Addr; // subnet address
|
|
uint32 AddrType;
|
|
string Mask; // subnet mask
|
|
uint32 Classfication;
|
|
};
|
|
|
|
[abstract, provider("Network Security Provider of SCE")]
|
|
class Nsp_FilterSettings
|
|
{
|
|
string FilterName;
|
|
uint32 FilterType; // tunnel = 1, transport = 2, Mainmode = 3
|
|
uint32 Direction = 8; // FILTER_DIRECTION_INBOUND=0x00000004, FILTER_DIRECTION_OUTBOUND=0x00000008
|
|
uint32 InterfaceType = 1; // INTERFACE_TYPE_ALL = 1, INTERFACE_TYPE_LAN = 2, INTERFACE_TYPE_DIALUP = 3,
|
|
boolean CreateMirror;
|
|
uint32 SrcAddrClassification; // lookup in IPConfigSettings class
|
|
uint32 SrcAddrType = 1; // 1 for unique, 2 for subnet, 3 for interface
|
|
string SrcAddr = "IP_ADDRESS_ME";
|
|
string SrcSubnetMask = "IP_ADDRESS_MASK_NONE";
|
|
uint32 DestAddrType = 2; // ??
|
|
string DestAddr = "SUBNET_ADDRESS_ANY";
|
|
string DestSubnetMask = "SUBNET_MASK_ANY";
|
|
};
|
|
|
|
[dynamic, provider("Network Security Provider of SCE")]
|
|
class Nsp_TransportFilterSettings : Nsp_FilterSettings
|
|
{
|
|
[key] string FilterName;
|
|
|
|
uint32 Direction;
|
|
boolean GenericFilter;
|
|
|
|
uint32 FilterType = 2;
|
|
uint32 InboundFilterFlag; //PASS_THRU = 1, BLOCKING = 2, NEGOTIATE_SECURITY = 3,
|
|
uint32 OutboundFilterFlag;
|
|
|
|
uint32 Protocol;
|
|
uint32 SrcPort;
|
|
uint32 DestPort;
|
|
string QMPolicyName;
|
|
};
|
|
|
|
[dynamic, provider("Network Security Provider of SCE")]
|
|
class Nsp_TunnelFilterSettings : Nsp_FilterSettings
|
|
{
|
|
[key] string FilterName;
|
|
|
|
boolean GenericFilter;
|
|
uint32 Direction;
|
|
|
|
uint32 FilterType = 1;
|
|
uint32 InboundFilterFlag;
|
|
uint32 OutboundFilterFlag;
|
|
uint32 Protocol;
|
|
uint32 SrcPort;
|
|
uint32 DestPort;
|
|
string QMPolicyName;
|
|
|
|
string TunnelSrcAddr;
|
|
string TunnelSrcSubnetMask;
|
|
uint32 TunnelSrcAddrType;
|
|
string TunnelDestAddr;
|
|
string TunnelDestSubnetMask;
|
|
uint32 TunnelDestAddrType;
|
|
};
|
|
|
|
[dynamic, provider("Network Security Provider of SCE")]
|
|
class Nsp_MMFilterSettings : Nsp_FilterSettings
|
|
{
|
|
[key] string FilterName;
|
|
uint32 Direction;
|
|
boolean GenericFilter;
|
|
uint32 FilterType = 3;
|
|
string MMPolicyName;
|
|
string MMAuthName;
|
|
};
|
|
|
|
[abstract, provider("Network Security Provider of SCE")]
|
|
class Nsp_PolicySettings
|
|
{
|
|
string PolicyName;
|
|
|
|
uint32 Flag = 0; // dwFlag
|
|
uint32 OfferCount; // dwOfferCount
|
|
|
|
// both arrays are of size OfferCount
|
|
uint32 KeyLifeTime[]; // LifeTime.uKeyExpirationTime
|
|
uint32 KeyLifeTimeKBytes[]; // LifeTime.uKeyExpirationKBytes
|
|
};
|
|
|
|
[dynamic, provider("Network Security Provider of SCE")]
|
|
class Nsp_QMPolicySettings : Nsp_PolicySettings
|
|
{
|
|
[key] string PolicyName;
|
|
|
|
boolean PFSRequired[]; // array of size OfferCount
|
|
uint32 PFSGroup[]; // array of size OfferCount
|
|
|
|
uint32 NumAlgos[]; // array of size OfferCount
|
|
|
|
// all the rest of arrays are of size QM_MAX_ALGOS * OfferCount
|
|
|
|
uint32 AlgoOp[]; // NONE = 0,AUTHENTICATION=1,ENCRYPTION=2,COMPRESSION=3,SA_DELETE=4
|
|
uint32 AlgoID[]; //
|
|
uint32 AlgoSecID[]; // HMAC_AH_NONE = 0,HMAC_AH_MD5=1,HMAC_AH_SHA1=2
|
|
|
|
//uint32 AlgoKeyLen[]; //
|
|
//uint32 AlgoSecKeyLen[]; //
|
|
//uint32 AlgoRounds[]; //
|
|
//uint32 AlgoMySpi[]; //
|
|
//uint32 AlgoPeerSpi[]; //
|
|
|
|
|
|
//
|
|
// Encryption: 0 for none, 1 for request, 2 for maximum, and 3 for require
|
|
//
|
|
|
|
[static, Implemented] uint32 CreateDefaultPolicy([in] uint32 Encryption);
|
|
|
|
[static, Implemented] uint32 GetDefaultPolicyName([in] uint32 Encryption, [out] string Name);
|
|
|
|
};
|
|
|
|
[dynamic, provider("Network Security Provider of SCE")]
|
|
class Nsp_MMPolicySettings : Nsp_PolicySettings
|
|
{
|
|
// IPSEC_MM_POLICY corresponding member name
|
|
[key] string PolicyName; // pszPolicyName
|
|
|
|
uint32 SoftSAExpTime; // uSoftSAExpirationTime
|
|
|
|
// all the following arrays are of size OfferCount
|
|
uint32 QMLimit[]; // dwQuickModeLimit
|
|
uint32 DHGroup[]; // dwDHGroup
|
|
uint32 EncryptID[]; // EncryptionAlgorithm.uAlgoIdentifier
|
|
uint32 HashID[]; // HashingAlgorithm.uAlgoIdentifier
|
|
|
|
//uint32 EncryptKeyLen[]; // EncryptionAlgorithm.uAlgoKeyLen
|
|
//uint32 EncryptRounds[]; // EncryptionAlgorithm.uAlgoRounds
|
|
//uint32 HashKeyLen[]; // HashingAlgorithm.uAlgoKeyLen
|
|
//uint32 HashRounds[]; // HashingAlgorithm.uAlgoRounds
|
|
};
|
|
|
|
[dynamic, provider("Network Security Provider of SCE")]
|
|
class Nsp_MMAuthSettings
|
|
{
|
|
[key] string AuthMethodID;
|
|
uint32 NumAuthInfos; // count of IPSEC_MM_AUTH_INFO, sizes of the rest of the members are equal to this
|
|
|
|
uint32 AuthMethod[]; // MM_AUTH_ENUM: IKE_PRESHARED_KEY = 1, IKE_DSS_SIGNATURE=2, IKE_RSA_SIGNATURE=3,
|
|
// IKE_RSA_ENCRYPTION=4, IKE_SSPI=5. Currently, IPSec only supports 1, 3, 5
|
|
|
|
string AuthInfo[]; // should really be array of uint8 (LPBYTE).
|
|
// But that is much more complicated to manage. Must convert this BSTR
|
|
// into an array of wchars (IKE_PRESHARED_KEY) w/o 0 terminator,
|
|
// or ansi chars (IKE_RSA_SIGNATURE) w/o 0 terminator,
|
|
// or NULL for IKE_SSPI.
|
|
};
|
|
|
|
//---------------------------------------------------------------------------
|
|
// classes to support rollback
|
|
[abstract]
|
|
class Nsp_ActionToken
|
|
{
|
|
string TokenGuid;
|
|
uint32 Action; // 0 for PutInstance, 1 for DeleteInstance
|
|
string PreviousData;
|
|
};
|
|
|
|
// filter rollback class
|
|
class Nsp_RollbackFilter : Nsp_ActionToken
|
|
{
|
|
[key] string TokenGuid;
|
|
[key] string FilterName;
|
|
uint32 FilterType; // Same as that of SceNsp_FilterSettings
|
|
};
|
|
|
|
// policy rollback class
|
|
class Nsp_RollbackPolicy : Nsp_ActionToken
|
|
{
|
|
[key] string TokenGuid;
|
|
[key] string PolicyName;
|
|
uint32 PolicyType; // 1 for MM Policy, 2 for QM policy
|
|
};
|
|
|
|
// main mode authentication rollback class
|
|
class Nsp_RollbackMMAuth : Nsp_ActionToken
|
|
{
|
|
[key] string TokenGuid;
|
|
[key] string AuthMethodID;
|
|
};
|
|
|
|
// class for rollback
|
|
[dynamic, provider("Network Security Provider of SCE")]
|
|
class Nsp_TranxManager
|
|
{
|
|
[static, Implemented] uint32 Rollback([in] string TokenGuid, [in] boolean ClearAll);
|
|
|
|
//
|
|
// ****************************************************************
|
|
// **************** Warning: don't checkin ************************
|
|
// ****************************************************************
|
|
// for testing XML parser
|
|
//
|
|
|
|
// [static, Implemented] uint32 ParseXMLFile([in] string InputFile, [in] string OutputFile, [in] string Area, [in] string Element, [in] boolean SingleArea);
|
|
|
|
|
|
};
|
|
|
|
//----------------------------------------------------------------------------
|
|
// classes for Security Configuration Wizard (SCW)
|
|
|
|
/*
|
|
[dynamic, readonly, provider("Network Security Provider of SCE")]
|
|
class SCW_ActiveSocket
|
|
{
|
|
[key] uint32 Port;
|
|
[key] uint32 Protocol; // TCP, UDP, ?
|
|
string Address;
|
|
string ForeignAddress;
|
|
string ForeignPort;
|
|
uint32 State; // Listening, Established, TIME_WAIT
|
|
uint32 ProcessID;
|
|
string ImageName;
|
|
string ImageTitleBar;
|
|
string NTService[];
|
|
};
|
|
*/
|
|
|
|
|
|
|
|
|
|
|