mirror of https://github.com/UMSKT/xpmgr.git
446 lines
12 KiB
Plaintext
446 lines
12 KiB
Plaintext
//+--------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1996 - 2001
|
|
//
|
|
// File: casetup.idl
|
|
//
|
|
// Contents: Definition of COM Interface for Certification Authority Setup
|
|
//
|
|
//---------------------------------------------------------------------------
|
|
|
|
import "wtypes.idl";
|
|
import "oaidl.idl";
|
|
|
|
//
|
|
// Interface ICertSrvSetupKeyInformation
|
|
//
|
|
[
|
|
object,
|
|
uuid(6ba73778-36da-4c39-8a85-bcfa7d000793),
|
|
helpstring("ICertSrvSetupKeyInformation COM Interface"),
|
|
dual,
|
|
pointer_default(unique)
|
|
]
|
|
interface ICertSrvSetupKeyInformation: IDispatch
|
|
{
|
|
// Properties
|
|
[propget, id(1), helpstring("property ProviderName")]
|
|
HRESULT ProviderName(
|
|
[out, retval] BSTR* pVal);
|
|
|
|
[propput, id(1), helpstring("property ProviderName")]
|
|
HRESULT ProviderName(
|
|
[in] BSTR const bstrVal);
|
|
|
|
[propget, id(2), helpstring("property Length")]
|
|
HRESULT Length(
|
|
[out, retval] LONG* pVal);
|
|
|
|
[propput, id(2), helpstring("property Length")]
|
|
HRESULT Length(
|
|
[in] LONG lVal);
|
|
|
|
[propget, id(3), helpstring("property Existing")]
|
|
HRESULT Existing(
|
|
[out, retval] VARIANT_BOOL* pVal);
|
|
|
|
[propput, id(3), helpstring("property Existing")]
|
|
HRESULT Existing(
|
|
[in] VARIANT_BOOL bVal);
|
|
|
|
[propget, id(4), helpstring("property ContainerName")]
|
|
HRESULT ContainerName(
|
|
[out, retval] BSTR* pVal);
|
|
|
|
[propput, id(4), helpstring("property ContainerName")]
|
|
HRESULT ContainerName(
|
|
[in] BSTR const bstrVal);
|
|
|
|
[propget, id(5), helpstring("property HashAlgorithm")]
|
|
HRESULT HashAlgorithm(
|
|
[out, retval] BSTR* pVal);
|
|
|
|
[propput, id(5), helpstring("property HashAlgorithm")]
|
|
HRESULT HashAlgorithm(
|
|
[in] BSTR const bstrVal);
|
|
|
|
[propget, id(6), helpstring("property ExistingCACertificate")]
|
|
HRESULT ExistingCACertificate(
|
|
[out, retval] VARIANT* pVal);
|
|
|
|
[propput, id(6), helpstring("property ExistingCACertificate")]
|
|
HRESULT ExistingCACertificate(
|
|
[in] VARIANT varVal);
|
|
|
|
};
|
|
|
|
//+--------------------------------------------------------------------------
|
|
// ICertSrvSetupKeyInformationCollection -- local COM interface
|
|
//+--------------------------------------------------------------------------
|
|
[
|
|
object,
|
|
uuid(e65c8b00-e58f-41f9-a9ec-a28d7427c844),
|
|
dual,
|
|
nonextensible,
|
|
helpstring("ICertSrvSetupKeyInformationCollection Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ICertSrvSetupKeyInformationCollection : IDispatch
|
|
{
|
|
[propget, id(DISPID_NEWENUM), helpstring("property _NewEnum")]
|
|
HRESULT _NewEnum(
|
|
[out, retval] IUnknown** ppVal);
|
|
|
|
[propget, id(DISPID_VALUE), helpstring("property Item")]
|
|
HRESULT Item(
|
|
[in] LONG Index,
|
|
[out, retval] VARIANT* pVal);
|
|
|
|
[propget, id(1), helpstring("property Count")]
|
|
HRESULT Count(
|
|
[out, retval] LONG* pVal);
|
|
|
|
HRESULT Add(
|
|
[in] ICertSrvSetupKeyInformation* pIKeyInformation);
|
|
};
|
|
|
|
typedef enum {
|
|
ENUM_SETUPPROP_INVALID = -1,
|
|
ENUM_SETUPPROP_CATYPE = 0, // VT_UI4, ENUM_CATYPES
|
|
ENUM_SETUPPROP_CAKEYINFORMATION = 1, // VT_DISPATCH, ICertSrvSetupKeyInformation
|
|
ENUM_SETUPPROP_INTERACTIVE = 2, // VT_BOOL
|
|
ENUM_SETUPPROP_CANAME = 3, // VT_BSTR
|
|
ENUM_SETUPPROP_CADSSUFFIX = 4, // VT_BSTR
|
|
ENUM_SETUPPROP_VALIDITYPERIOD = 5, // VT_UI4, enum ENUM_PERIOD
|
|
ENUM_SETUPPROP_VALIDITYPERIODUNIT = 6, // VT_UI4
|
|
ENUM_SETUPPROP_EXPIRATIONDATE = 7, // VT_BSTR
|
|
ENUM_SETUPPROP_PRESERVEDATABASE = 8, // VT_BOOL
|
|
ENUM_SETUPPROP_DATABASEDIRECTORY = 9, // VT_BSTR
|
|
ENUM_SETUPPROP_LOGDIRECTORY = 10, // VT_BSTR
|
|
ENUM_SETUPPROP_SHAREDFOLDER = 11, // VT_BSTR
|
|
ENUM_SETUPPROP_PARENTCAMACHINE = 12, // VT_BSTR
|
|
ENUM_SETUPPROP_PARENTCANAME = 13, // VT_BSTR
|
|
ENUM_SETUPPROP_REQUESTFILE = 14, // VT_BSTR
|
|
ENUM_SETUPPROP_WEBCAMACHINE = 15, // VT_BSTR
|
|
ENUM_SETUPPROP_WEBCANAME = 16 // VT_BSTR
|
|
} CASetupProperty;
|
|
|
|
//
|
|
// Interface ICertSrvSetup
|
|
//
|
|
[
|
|
object,
|
|
uuid(b760a1bb-4784-44c0-8f12-555f0780ff25),
|
|
helpstring("ICertSrvSetup COM Interface"),
|
|
dual,
|
|
pointer_default(unique)
|
|
]
|
|
interface ICertSrvSetup: IDispatch
|
|
{
|
|
// Properties
|
|
|
|
[propget, id(1), helpstring("property CAErrorId")]
|
|
HRESULT CAErrorId(
|
|
[out, retval] LONG* pVal);
|
|
|
|
[propget, id(2), helpstring("property CAErrorString")]
|
|
HRESULT CAErrorString(
|
|
[out, retval] BSTR* pVal);
|
|
|
|
// Methods
|
|
HRESULT InitializeDefaults(
|
|
[in] VARIANT_BOOL bServer,
|
|
[in] VARIANT_BOOL bClient);
|
|
|
|
HRESULT GetCASetupProperty(
|
|
[in] CASetupProperty propertyId,
|
|
[out, retval] VARIANT* pPropertyValue);
|
|
|
|
HRESULT SetCASetupProperty(
|
|
[in] CASetupProperty propertyId,
|
|
[in] VARIANT* pPropertyValue);
|
|
|
|
HRESULT IsPropertyEditable(
|
|
[in] CASetupProperty propertyId,
|
|
[out, retval] VARIANT_BOOL* pbEditable);
|
|
|
|
HRESULT GetSupportedCATypes(
|
|
[out, retval] VARIANT* pCATypes);
|
|
|
|
HRESULT GetProviderNameList(
|
|
[out, retval] VARIANT* pVal);
|
|
|
|
HRESULT GetKeyLengthList(
|
|
[in] BSTR const bstrProviderName,
|
|
[out, retval] VARIANT* pVal);
|
|
|
|
HRESULT GetHashAlgorithmList(
|
|
[in] BSTR const bstrProviderName,
|
|
[out, retval] VARIANT* pVal);
|
|
|
|
HRESULT GetPrivateKeyContainerList(
|
|
[in] BSTR const bstrProviderName,
|
|
[out, retval] VARIANT* pVal);
|
|
|
|
HRESULT GetExistingCACertificates(
|
|
[out, retval] ICertSrvSetupKeyInformationCollection** ppVal);
|
|
|
|
HRESULT CAImportPFX(
|
|
[in] const BSTR bstrFileName,
|
|
[in] const BSTR bstrPasswd,
|
|
[in] VARIANT_BOOL bOverwriteExistingKey,
|
|
[out, retval] ICertSrvSetupKeyInformation** ppVal);
|
|
|
|
HRESULT SetCADistinguishedName(
|
|
[in] BSTR const bstrCADN,
|
|
[in] VARIANT_BOOL bIgnoreUnicode,
|
|
[in] VARIANT_BOOL bOverwriteExistingKey,
|
|
[in] VARIANT_BOOL bOverwriteExistingCAInDS);
|
|
|
|
HRESULT SetDatabaseInformation(
|
|
[in] BSTR const bstrDBDirectory,
|
|
[in] BSTR const bstrLogDirectory,
|
|
[in] BSTR const bstrSharedFolder,
|
|
[in] VARIANT_BOOL bForceOverwrite);
|
|
|
|
HRESULT SetParentCAInformation(
|
|
[in] BSTR const bstrCAConfiguration);
|
|
|
|
HRESULT SetWebCAInformation(
|
|
[in] BSTR const bstrCAConfiguration);
|
|
|
|
|
|
HRESULT Install();
|
|
|
|
HRESULT PreUnInstall(
|
|
[in] VARIANT_BOOL bClientOnly);
|
|
|
|
HRESULT PostUnInstall();
|
|
|
|
};
|
|
|
|
typedef enum
|
|
{
|
|
ENUM_CEPSETUPPROP_USELOCALSYSTEM = 0, // VT_BOOL
|
|
ENUM_CEPSETUPPROP_USECHALLENGE = 1, // VT_BOOL
|
|
ENUM_CEPSETUPPROP_RANAME_CN = 2, // VT_BSTR
|
|
ENUM_CEPSETUPPROP_RANAME_EMAIL = 3, // VT_BSTR
|
|
ENUM_CEPSETUPPROP_RANAME_COMPANY = 4, // VT_BSTR
|
|
ENUM_CEPSETUPPROP_RANAME_DEPT = 5, // VT_BSTR
|
|
ENUM_CEPSETUPPROP_RANAME_CITY = 6, // VT_BSTR
|
|
ENUM_CEPSETUPPROP_RANAME_STATE = 7, // VT_BSTR
|
|
ENUM_CEPSETUPPROP_RANAME_COUNTRY = 8, // VT_BSTR
|
|
ENUM_CEPSETUPPROP_SIGNINGKEYINFORMATION = 9, // VT_IDISPATCH, ICertSrvSetupKeyInformation
|
|
ENUM_CEPSETUPPROP_EXCHANGEKEYINFORMATION = 10, // VT_IDISPATCH, ICertSrvSetupKeyInformation
|
|
ENUM_CEPSETUPPROP_CAINFORMATION = 11, //VT_BSTR
|
|
ENUM_CEPSETUPPROP_MSCEPURL=12, // VT_BSTR
|
|
ENUM_CEPSETUPPROP_CHALLENGEURL =13, // VT_BSTR
|
|
} MSCEPSetupProperty;
|
|
|
|
//
|
|
// Interface IMSCEPSetup
|
|
//
|
|
[
|
|
object,
|
|
uuid(4f7761bb-9f3b-4592-9ee0-9a73259c313e),
|
|
helpstring("IMSCEPSetup COM Interface"),
|
|
dual,
|
|
pointer_default(unique)
|
|
]
|
|
interface IMSCEPSetup: IDispatch
|
|
{
|
|
// Properties
|
|
[propget, id(1), helpstring("property MSCEPErrorId")]
|
|
HRESULT MSCEPErrorId(
|
|
[out, retval] LONG* pVal);
|
|
|
|
[propget, id(2), helpstring("property MSCEPErrorString")]
|
|
HRESULT MSCEPErrorString(
|
|
[out, retval] BSTR* pVal);
|
|
|
|
HRESULT InitializeDefaults();
|
|
|
|
HRESULT GetMSCEPSetupProperty(
|
|
[in] MSCEPSetupProperty propertyId,
|
|
[out, retval] VARIANT* pVal);
|
|
|
|
HRESULT SetMSCEPSetupProperty(
|
|
[in] MSCEPSetupProperty propertyId,
|
|
[in] VARIANT* pPropertyValue);
|
|
|
|
HRESULT SetAccountInformation(
|
|
[in] BSTR const bstrUserName,
|
|
[in] BSTR const bstrPassword);
|
|
|
|
HRESULT IsMSCEPStoreEmpty(
|
|
[out, retval] VARIANT_BOOL* pbEmpty);
|
|
|
|
HRESULT GetProviderNameList(
|
|
[in] VARIANT_BOOL bExchange,
|
|
[out, retval] VARIANT* pVal);
|
|
|
|
HRESULT GetKeyLengthList(
|
|
[in] VARIANT_BOOL bExchange,
|
|
[in] BSTR const bstrProviderName,
|
|
[out, retval] VARIANT* pVal);
|
|
|
|
HRESULT Install();
|
|
|
|
HRESULT PreUnInstall();
|
|
HRESULT PostUnInstall();
|
|
|
|
};
|
|
|
|
|
|
typedef enum
|
|
{
|
|
ENUM_CESSETUPPROP_USE_IISAPPPOOLIDENTITY = 0, // VT_BOOL
|
|
ENUM_CESSETUPPROP_CACONFIG = 1, // VT_BSTR
|
|
ENUM_CESSETUPPROP_AUTHENTICATION = 2, // VT_UI4, VT_I4, VT_I2
|
|
ENUM_CESSETUPPROP_SSLCERTHASH = 3, // VT_BSTR
|
|
ENUM_CESSETUPPROP_URL = 4, // VT_BSTR
|
|
ENUM_CESSETUPPROP_RENEWALONLY = 5 // VT_BOOL
|
|
} CESSetupProperty;
|
|
|
|
//
|
|
// Interface ICertificateEnrollmentServerSetup
|
|
//
|
|
[
|
|
object,
|
|
uuid(70027FDB-9DD9-4921-8944-B35CB31BD2EC),
|
|
helpstring("ICertificateEnrollmentServerSetup COM Interface"),
|
|
dual,
|
|
pointer_default(unique)
|
|
]
|
|
interface ICertificateEnrollmentServerSetup: IDispatch
|
|
{
|
|
// Properties
|
|
[propget, id(1), helpstring("property ErrorString")]
|
|
HRESULT ErrorString(
|
|
[out, retval] BSTR* pVal);
|
|
|
|
// Methods
|
|
HRESULT InitializeInstallDefaults();
|
|
|
|
HRESULT GetProperty(
|
|
[in] CESSetupProperty propertyId,
|
|
[out, retval] VARIANT* pPropertyValue);
|
|
|
|
HRESULT SetProperty(
|
|
[in] CESSetupProperty propertyId,
|
|
[in] VARIANT* pPropertyValue);
|
|
|
|
HRESULT SetApplicationPoolCredentials(
|
|
[in] BSTR const bstrUsername,
|
|
[in] BSTR const bstrPassword);
|
|
|
|
HRESULT Install();
|
|
|
|
HRESULT UnInstall(
|
|
[in, optional] VARIANT* pCAConfig,
|
|
[in, optional] VARIANT* pAuthentication);
|
|
};
|
|
|
|
typedef enum
|
|
{
|
|
ENUM_CEPSETUPPROP_AUTHENTICATION = 0, // VT_UI4, VT_I4, VT_I2
|
|
ENUM_CEPSETUPPROP_SSLCERTHASH = 1, // VT_BSTR
|
|
ENUM_CEPSETUPPROP_URL = 2 // VT_BSTR
|
|
} CEPSetupProperty;
|
|
|
|
//
|
|
// Interface ICertificateEnrollmentPolicyServerSetup
|
|
//
|
|
[
|
|
object,
|
|
uuid(859252CC-238C-4a88-B8FD-A37E7D04E68B),
|
|
helpstring("ICertificateEnrollmentPolicyServerSetup COM Interface"),
|
|
dual,
|
|
pointer_default(unique)
|
|
]
|
|
interface ICertificateEnrollmentPolicyServerSetup: IDispatch
|
|
{
|
|
// Properties
|
|
[propget, id(1), helpstring("property ErrorString")]
|
|
HRESULT ErrorString(
|
|
[out, retval] BSTR* pVal);
|
|
|
|
// Methods
|
|
HRESULT InitializeInstallDefaults();
|
|
|
|
HRESULT GetProperty(
|
|
[in] CEPSetupProperty propertyId,
|
|
[out, retval] VARIANT* pPropertyValue);
|
|
|
|
HRESULT SetProperty(
|
|
[in] CEPSetupProperty propertyId,
|
|
[in] VARIANT* pPropertyValue);
|
|
|
|
HRESULT Install();
|
|
|
|
HRESULT UnInstall(
|
|
[in, optional] VARIANT* pReserved);
|
|
};
|
|
|
|
|
|
//+--------------------------------------------------------------------------
|
|
// casetup Type library
|
|
//+--------------------------------------------------------------------------
|
|
|
|
[
|
|
uuid(8abc9d1a-02d4-42e4-b542-17b1ebcb2f51),
|
|
version(1.0),
|
|
helpstring("Certificate Server Installer Type Library")
|
|
]
|
|
|
|
library CertSrvSetupLib
|
|
{
|
|
importlib("stdole2.tlb");
|
|
|
|
[
|
|
uuid(38373906-5433-4633-b0fb-29b7e78262e1),
|
|
helpstring("CCertSrvSetup Class")
|
|
]
|
|
coclass CCertSrvSetupKeyInformation
|
|
{
|
|
[default] interface ICertSrvSetupKeyInformation;
|
|
};
|
|
|
|
[
|
|
uuid(961f180f-f55c-413d-a9b3-7d2af4d8e42f),
|
|
helpstring("CCertSrvSetup Class")
|
|
]
|
|
coclass CCertSrvSetup
|
|
{
|
|
[default] interface ICertSrvSetup;
|
|
};
|
|
|
|
[
|
|
uuid(aa4f5c02-8e7c-49c4-94fa-67a5cc5eadb4),
|
|
helpstring("CMSCEPSetup Class")
|
|
]
|
|
coclass CMSCEPSetup
|
|
{
|
|
[default] interface IMSCEPSetup;
|
|
};
|
|
[
|
|
uuid(9902F3BC-88AF-4cf8-AE62-7140531552B6),
|
|
helpstring("CCertificateEnrollmentServerSetup Class")
|
|
]
|
|
|
|
coclass CCertificateEnrollmentServerSetup
|
|
{
|
|
[default] interface ICertificateEnrollmentServerSetup;
|
|
};
|
|
[
|
|
uuid(AFE2FA32-41B1-459d-A5DE-49ADD8A72182),
|
|
helpstring("CCertificateEnrollmentPolicyServerSetup Class")
|
|
]
|
|
coclass CCertificateEnrollmentPolicyServerSetup
|
|
{
|
|
[default] interface ICertificateEnrollmentPolicyServerSetup;
|
|
};
|
|
};
|
|
|