123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414 |
- //+--------------------------------------------------------------------------
- //
- // Microsoft Windows
- // Copyright (C) Microsoft Corporation, 1996 - 1999
- //
- // File: certcli.idl
- //
- // Contents: IDL source for certcli.dll
- //
- //---------------------------------------------------------------------------
- // This file will be processed by the MIDL tool to produce the type library
- // (certcli.tlb) and marshalling code.
- import "wtypes.idl";
- import "certif.idl";
- import "oaidl.idl";
- //+--------------------------------------------------------------------------
- // ICertGetConfig -- local COM interface, local implementation
- //+--------------------------------------------------------------------------
- [
- object,
- uuid(c7ea09c0-ce17-11d0-8833-00a0c903b83c),
- dual,
- helpstring("ICertGetConfig Interface"),
- pointer_default(unique)
- ]
- interface ICertGetConfig: IDispatch
- {
- HRESULT GetConfig(
- [in] LONG Flags,
- [out, retval] BSTR *pstrOut);
- };
- //+--------------------------------------------------------------------------
- // ICertConfig::GetField()
- // strFieldName parameter values:
- cpp_quote("#define wszCONFIG_COMMONNAME L\"CommonName\"")
- cpp_quote("#define wszCONFIG_ORGUNIT L\"OrgUnit\"")
- cpp_quote("#define wszCONFIG_ORGANIZATION L\"Organization\"")
- cpp_quote("#define wszCONFIG_LOCALITY L\"Locality\"")
- cpp_quote("#define wszCONFIG_STATE L\"State\"")
- cpp_quote("#define wszCONFIG_COUNTRY L\"Country\"")
- cpp_quote("#define wszCONFIG_CONFIG L\"Config\"")
- cpp_quote("#define wszCONFIG_EXCHANGECERTIFICATE L\"ExchangeCertificate\"")
- cpp_quote("#define wszCONFIG_SIGNATURECERTIFICATE L\"SignatureCertificate\"")
- cpp_quote("#define wszCONFIG_DESCRIPTION L\"Description\"")
- cpp_quote("#define wszCONFIG_COMMENT L\"Comment\" // obsolete: use Description")
- cpp_quote("#define wszCONFIG_SERVER L\"Server\"")
- cpp_quote("#define wszCONFIG_AUTHORITY L\"Authority\"")
- cpp_quote("#define wszCONFIG_SANITIZEDNAME L\"SanitizedName\"")
- cpp_quote("#define wszCONFIG_SHORTNAME L\"ShortName\"")
- cpp_quote("#define wszCONFIG_SANITIZEDSHORTNAME L\"SanitizedShortName\"")
- cpp_quote("#define wszCONFIG_FLAGS L\"Flags\"")
- // Flags setting
- const LONG CAIF_DSENTRY = 0x00000001; // bit set for CA from DS
- const LONG CAIF_SHAREDFOLDERENTRY = 0x00000002; // CA from shared folder
- const LONG CAIF_REGISTRY = 0x00000004; // CA from local registry
- const LONG CAIF_LOCAL = 0x00000008; // local CA
- const LONG CAIF_REGISTRYPARENT = 0x00000010; // CA parent from registry
- //+--------------------------------------------------------------------------
- // ICertConfig -- local COM interface, local implementation
- //+--------------------------------------------------------------------------
- [
- object,
- uuid(372fce34-4324-11d0-8810-00a0c903b83c),
- dual,
- helpstring("ICertConfig Interface"),
- pointer_default(unique)
- ]
- interface ICertConfig: IDispatch
- {
- HRESULT Reset(
- [in] LONG Index,
- [out, retval] LONG *pCount);
- HRESULT Next(
- [out, retval] LONG *pIndex);
- HRESULT GetField(
- [in] BSTR const strFieldName,
- [out, retval] BSTR *pstrOut);
- HRESULT GetConfig(
- [in] LONG Flags,
- [out, retval] BSTR *pstrOut);
- };
- //+--------------------------------------------------------------------------
- // ICertConfig2 -- local COM interface, local implementation
- //+--------------------------------------------------------------------------
- [
- object,
- uuid(7a18edde-7e78-4163-8ded-78e2c9cee924),
- dual,
- helpstring("ICertConfig2 Interface"),
- pointer_default(unique)
- ]
- interface ICertConfig2: ICertConfig
- {
- HRESULT SetSharedFolder(
- [in] BSTR const strSharedFolder);
- };
- //+--------------------------------------------------------------------------
- // ICertRequest::Submit()
- // Flags for request and attributes encoding and type:
- const LONG CR_IN_BASE64HEADER = 0x00000000; // BASE64 with begin/end
- const LONG CR_IN_BASE64 = 0x00000001; // BASE64 w/o begin/end
- const LONG CR_IN_BINARY = 0x00000002; // binary request
- const LONG CR_IN_ENCODEANY = 0x000000ff; // Could be any of the above
- const LONG CR_IN_ENCODEMASK = 0x000000ff; // request encoding mask
- const LONG CR_IN_FORMATANY = 0x00000000; // Could be any of the below
- const LONG CR_IN_PKCS10 = 0x00000100; // PKCS 10 request
- const LONG CR_IN_KEYGEN = 0x00000200; // Keygen request
- const LONG CR_IN_PKCS7 = 0x00000300; // PKCS 7 renewal request
- const LONG CR_IN_CMC = 0x00000400; // CMC request
- const LONG CR_IN_FORMATMASK = 0x0000ff00; // request format mask
- // Cert Server 1.0 obsolete encryption bits:
- //const LONG CR_IN_ENCRYPTED_REQUEST = 0x00010000; // request encrypted
- //const LONG CR_IN_ENCRYPTED_ATTRIBUTES = 0x00020000; // attributes encrypted
- const LONG CR_IN_RPC = 0x00020000; // Use RPC instead of DCOM
- const LONG CR_IN_FULLRESPONSE = 0x00040000; // Return CMC Full Response
- const LONG CR_IN_CRLS = 0x00080000; // include current CRLs
- // Flags for GetConfig flag
- const LONG CC_DEFAULTCONFIG = 0x00000000; // ask to get 1st pingable CA
- const LONG CC_UIPICKCONFIG = 0x00000001; // invoke UI to pick CA
- const LONG CC_FIRSTCONFIG = 0x00000002; // pick first CA
- const LONG CC_LOCALCONFIG = 0x00000003; // pick local CA
- const LONG CC_LOCALACTIVECONFIG = 0x00000004; // pick local pingable CA
- //+--------------------------------------------------------------------------
- // ICertRequest::Submit(), ICertRequest::RetrievePending() and
- // returned Disposition:
- const LONG CR_DISP_INCOMPLETE = 0x00000000; // request did not complete
- const LONG CR_DISP_ERROR = 0x00000001; // request failed
- const LONG CR_DISP_DENIED = 0x00000002; // request denied
- const LONG CR_DISP_ISSUED = 0x00000003; // cert issued
- const LONG CR_DISP_ISSUED_OUT_OF_BAND = 0x00000004; // cert issued separately
- const LONG CR_DISP_UNDER_SUBMISSION = 0x00000005; // taken under submission
- const LONG CR_DISP_REVOKED = 0x00000006; // issued and revoked
- //+--------------------------------------------------------------------------
- // ICertRequest::GetCACertificate(),
- // ICertRequest::GetCertificate(),
- // ICertAdmin::GetCRL(),
- // ICertRequest2::GetCAProperty(),
- // ICertAdmin2::GetCAProperty()
- // ICertRequest2::GetFullResponseProperty(),
- // Flags for certificate encoding:
- const LONG CR_OUT_BASE64HEADER = 0x00000000; // BASE64 with begin/end
- const LONG CR_OUT_BASE64 = 0x00000001; // BASE64 w/o begin/end
- const LONG CR_OUT_BINARY = 0x00000002; // binary certificate
- const LONG CR_OUT_ENCODEMASK = 0x000000ff; // certificate encoding mask
- const LONG CR_OUT_CHAIN = 0x00000100; // return certificate chain
- const LONG CR_OUT_CRLS = 0x00000200; // chain with current CRLs
- //+--------------------------------------------------------------------------
- // ICertRequest2::GetErrorMessageText() Flags
- const LONG CR_GEMT_HRESULT_STRING = 0x00000001; // Append "0xXX (Win32: DD)"
- //+--------------------------------------------------------------------------
- // ICertRequest2::GetCAProperty(), ICertAdmin2::GetCAProperty() PropId
- cpp_quote("#define CR_PROP_NONE 0 // Invalid")
- cpp_quote("#define CR_PROP_FILEVERSION 1 // String")
- cpp_quote("#define CR_PROP_PRODUCTVERSION 2 // String")
- cpp_quote("#define CR_PROP_EXITCOUNT 3 // Long")
- cpp_quote("#define CR_PROP_EXITDESCRIPTION 4 // String, Indexed")
- cpp_quote("#define CR_PROP_POLICYDESCRIPTION 5 // String")
- cpp_quote("#define CR_PROP_CANAME 6 // String")
- cpp_quote("#define CR_PROP_SANITIZEDCANAME 7 // String")
- cpp_quote("#define CR_PROP_SHAREDFOLDER 8 // String")
- cpp_quote("#define CR_PROP_PARENTCA 9 // String")
- cpp_quote("#define CR_PROP_CATYPE 10 // Long")
- cpp_quote("#define CR_PROP_CASIGCERTCOUNT 11 // Long")
- cpp_quote("#define CR_PROP_CASIGCERT 12 // Binary, Indexed")
- cpp_quote("#define CR_PROP_CASIGCERTCHAIN 13 // Binary, Indexed")
- cpp_quote("#define CR_PROP_CAXCHGCERTCOUNT 14 // Long")
- cpp_quote("#define CR_PROP_CAXCHGCERT 15 // Binary, Indexed")
- cpp_quote("#define CR_PROP_CAXCHGCERTCHAIN 16 // Binary, Indexed")
- cpp_quote("#define CR_PROP_BASECRL 17 // Binary, Indexed")
- cpp_quote("#define CR_PROP_DELTACRL 18 // Binary, Indexed")
- cpp_quote("#define CR_PROP_CACERTSTATE 19 // Long, Indexed")
- cpp_quote("#define CR_PROP_CRLSTATE 20 // Long, Indexed")
- cpp_quote("#define CR_PROP_CAPROPIDMAX 21 // Long")
- cpp_quote("#define CR_PROP_DNSNAME 22 // String")
- cpp_quote("#define CR_PROP_ROLESEPARATIONENABLED 23 // Long")
- cpp_quote("#define CR_PROP_KRACERTUSEDCOUNT 24 // Long")
- cpp_quote("#define CR_PROP_KRACERTCOUNT 25 // Long")
- cpp_quote("#define CR_PROP_KRACERT 26 // Binary, Indexed")
- cpp_quote("#define CR_PROP_KRACERTSTATE 27 // Long, Indexed")
- cpp_quote("#define CR_PROP_ADVANCEDSERVER 28 // Long")
- cpp_quote("#define CR_PROP_TEMPLATES 29 // String")
- cpp_quote("#define CR_PROP_BASECRLPUBLISHSTATUS 30 // Long, Indexed")
- cpp_quote("#define CR_PROP_DELTACRLPUBLISHSTATUS 31 // Long, Indexed")
- cpp_quote("#define CR_PROP_CASIGCERTCRLCHAIN 32 // Binary, Indexed")
- cpp_quote("#define CR_PROP_CAXCHGCERTCRLCHAIN 33 // Binary, Indexed")
- cpp_quote("#define CR_PROP_CACERTSTATUSCODE 34 // Long, Indexed")
- //+--------------------------------------------------------------------------
- // ICertRequest2::GetFullResponseProperty() PropId
- cpp_quote("#define FR_PROP_NONE 0 // Invalid")
- cpp_quote("#define FR_PROP_FULLRESPONSE 1 // Binary")
- cpp_quote("#define FR_PROP_STATUSINFOCOUNT 2 // Long")
- cpp_quote("#define FR_PROP_BODYPARTSTRING 3 // String, Indexed")
- cpp_quote("#define FR_PROP_STATUS 4 // Long, Indexed")
- cpp_quote("#define FR_PROP_STATUSSTRING 5 // String, Indexed")
- cpp_quote("#define FR_PROP_OTHERINFOCHOICE 6 // Long, Indexed")
- cpp_quote("#define FR_PROP_FAILINFO 7 // Long, Indexed")
- cpp_quote("#define FR_PROP_PENDINFOTOKEN 8 // Binary, Indexed")
- cpp_quote("#define FR_PROP_PENDINFOTIME 9 // Date, Indexed")
- cpp_quote("#define FR_PROP_ISSUEDCERTIFICATEHASH 10 // Binary, Indexed")
- cpp_quote("#define FR_PROP_ISSUEDCERTIFICATE 11 // Binary, Indexed")
- cpp_quote("#define FR_PROP_ISSUEDCERTIFICATECHAIN 12 // Binary, Indexed")
- cpp_quote("#define FR_PROP_ISSUEDCERTIFICATECRLCHAIN 13 // Binary, Indexed")
- cpp_quote("#define FR_PROP_ENCRYPTEDKEYHASH 14 // Binary, Indexed")
- cpp_quote("#define FR_PROP_FULLRESPONSENOPKCS7 15 // Binary")
- //+--------------------------------------------------------------------------
- // ICertRequest -- local COM interface, implementation uses DCOM
- //+--------------------------------------------------------------------------
- [
- object,
- uuid(014e4840-5523-11d0-8812-00a0c903b83c),
- dual,
- helpstring("ICertRequest Interface"),
- pointer_default(unique)
- ]
- interface ICertRequest: IDispatch
- {
- HRESULT Submit(
- [in] LONG Flags,
- [in] BSTR const strRequest,
- [in] BSTR const strAttributes,
- [in] BSTR const strConfig,
- [out, retval] LONG *pDisposition);
- HRESULT RetrievePending(
- [in] LONG RequestId,
- [in] BSTR const strConfig,
- [out, retval] LONG *pDisposition);
- HRESULT GetLastStatus(
- [out, retval] LONG *pStatus);
- HRESULT GetRequestId(
- [out, retval] LONG *pRequestId);
- HRESULT GetDispositionMessage(
- [out, retval] BSTR *pstrDispositionMessage);
- HRESULT GetCACertificate(
- [in] LONG fExchangeCertificate,
- [in] BSTR const strConfig,
- [in] LONG Flags, // CR_OUT_*
- [out, retval] BSTR *pstrCertificate);
- HRESULT GetCertificate(
- [in] LONG Flags, // CR_OUT_*
- [out, retval] BSTR *pstrCertificate);
- };
- //+--------------------------------------------------------------------------
- // ICertRequest2 -- local COM interface, implementation uses DCOM
- //+--------------------------------------------------------------------------
- [
- object,
- uuid(a4772988-4a85-4fa9-824e-b5cf5c16405a),
- dual,
- helpstring("ICertRequest2 Interface"),
- pointer_default(unique)
- ]
- interface ICertRequest2: ICertRequest
- {
- HRESULT GetIssuedCertificate(
- [in] BSTR const strConfig,
- [in] LONG RequestId, // -1: use strSerialNumber
- [in] BSTR const strSerialNumber, // OPTIONAL
- [out, retval] LONG *pDisposition);
- HRESULT GetErrorMessageText(
- [in] LONG hrMessage,
- [in] LONG Flags,
- [out, retval] BSTR *pstrErrorMessageText);
- HRESULT GetCAProperty(
- [in] BSTR const strConfig,
- [in] LONG PropId, // CR_PROP_*
- [in] LONG PropIndex,
- [in] LONG PropType, // PROPTYPE_*
- [in] LONG Flags, // CR_OUT_*
- [out, retval] VARIANT *pvarPropertyValue);
- HRESULT GetCAPropertyFlags(
- [in] BSTR const strConfig,
- [in] LONG PropId, // CR_PROP_*
- [out, retval] LONG *pPropFlags); // PROPTYPE_* | PROPFLAGS_*
- HRESULT GetCAPropertyDisplayName(
- [in] BSTR const strConfig,
- [in] LONG PropId, // CR_PROP_*
- [out, retval] BSTR *pstrDisplayName);
- HRESULT GetFullResponseProperty(
- [in] LONG PropId, // FR_PROP_*
- [in] LONG PropIndex,
- [in] LONG PropType, // PROPTYPE_*
- [in] LONG Flags, // CR_OUT_*
- [out, retval] VARIANT *pvarPropertyValue);
- };
- //+--------------------------------------------------------------------------
- // certcli Type library
- //+--------------------------------------------------------------------------
- [
- uuid(372fce32-4324-11d0-8810-00a0c903b83c),
- version(1.0),
- helpstring("CertCli 1.0 Type Library")
- ]
- library CERTCLIENTLib
- {
- importlib("stdole2.tlb");
- //------------------------------------------------
- // CCertGetConfig
- [
- uuid(c6cc49b0-ce17-11d0-8833-00a0c903b83c),
- helpstring("CertGetConfig Class")
- ]
- coclass CCertGetConfig
- {
- [default] interface ICertGetConfig;
- };
- //------------------------------------------------
- // CCertConfig
- [
- uuid(372fce38-4324-11d0-8810-00a0c903b83c),
- helpstring("CertConfig Class")
- ]
- coclass CCertConfig
- {
- [default] interface ICertConfig2;
- };
- //------------------------------------------------
- // CCertRequest
- [
- uuid(98aff3f0-5524-11d0-8812-00a0c903b83c),
- helpstring("CertRequest Class")
- ]
- coclass CCertRequest
- {
- [default] interface ICertRequest2;
- };
- //------------------------------------------------
- // CCertServerPolicy
- [
- uuid(aa000926-ffbe-11cf-8800-00a0c903b83c),
- helpstring("CertServerPolicy Class")
- ]
- coclass CCertServerPolicy
- {
- [default] interface ICertServerPolicy;
- };
- //------------------------------------------------
- // CCertServerExit
- [
- uuid(4c4a5e40-732c-11d0-8816-00a0c903b83c),
- helpstring("CertServerExit Class")
- ]
- coclass CCertServerExit
- {
- [default] interface ICertServerExit;
- };
- };
|