MSCAstdRequest.h

00001 /* [Windows 1251]
00002  * [Use `iconv -f WINDOWS-1251', if needed]
00003  */
00004 /*
00005  * Copyright(C) 2005-2011
00006  *
00007  * Этот файл содержит информацию, являющуюся
00008  * собственностью компании Крипто-Про.
00009  *
00010  * Любая часть этого файла не может быть скопирована,
00011  * исправлена, переведена на другие языки,
00012  * локализована или модифицирована любым способом,
00013  * откомпилирована, передана по сети с или на
00014  * любую компьютерную систему без предварительного
00015  * заключения соглашения с компанией Крипто-Про.
00016  *
00017  * This is proprietary information of
00018  * Crypto-Pro company.
00019  *
00020  * Any part of this file can not be copied, 
00021  * corrected, translated into other languages,
00022  * localized or modified by any means,
00023  * compiled, transferred over a network from or to
00024  * any computer system without preliminary
00025  * agreement with Crypto-Pro company
00026  */
00027 
00037 #ifndef __MS_STD_CA_H__
00038 #define __MS_STD_CA_H__
00039 #include "UnixRequestImpl.h"
00040 
00062  /*
00063  *  TODO: CR_PROP_CASIGCERTCOUNT в предварительной версии возвращает всегда 1
00064  */
00065 
00066 class MSCAstdRequest: public UnixRequestImpl
00067 {
00068 protected:
00069     LONG RequestId;
00070     bool fCertificate;
00071     std::string strCertificate;
00072 
00073 public:
00074     MSCAstdRequest():UnixRequestImpl(),RequestId(-1),
00075                      fCertificate(false),strCertificate()
00076     {
00077         
00078     };
00079 
00080     virtual HRESULT GetRequestParams( 
00081         /* [in] */ BSTR strConfig,
00082         /* [in] */ BSTR strTemplate,
00083         /* [retval][out] */ BSTR *pstrRDN,
00084         /* [retval][out] */ BSTR *pstrEKUsage,
00085         /* [retval][out] */ DWORD *pKeySpec,
00086         /* [retval] */ std::vector<AttrTriple> *pAttrs
00087         );
00088 
00089     virtual HRESULT Submit( 
00090         /* [in] */ LONG Flags, /* CR_IN_BASE64HEADER, CR_IN_PKCS10 */
00091         /* [in] */ const BSTR strRequest,
00092         /* [in] */ const BSTR strAttributes,
00093         /* [in] */ const BSTR strConfig,
00094         /* [retval][out] */ LONG *pDisposition);
00095     virtual HRESULT GetRequestId(
00096               LONG* pRequestId
00097               )
00098     {
00099         if (RequestId != -1)
00100         {
00101             *pRequestId = RequestId;
00102             return S_OK;
00103         }
00104         else
00105             return NTE_FAIL;
00106     };
00107     virtual HRESULT GetCertificate(
00108        LONG Flags,
00109        BSTR* pstrCertificate
00110     );
00111     virtual HRESULT GetCACertificate( 
00112         /* [in] */ LONG fExchangeCertificate, /* не поддерживаем */
00113         /* [in] */ const BSTR strConfig,
00114         /* [in] */ LONG Flags, /* CR_OUT_BASE64HEADER, CR_OUT_CHAIN */
00115         /* [retval][out] */ BSTR *pstrCertificate) ;
00116 
00117 
00118     virtual HRESULT RetrievePending( 
00119         /* [in] */ LONG RequestId,
00120         /* [in] */ const BSTR strConfig,
00121         /* [retval][out] */ LONG *pDisposition);
00122 
00123     virtual HRESULT GetCAProperty( 
00124         /* [in] */ const BSTR strConfig,
00125         /* [in] */ LONG PropId, /* CR_PROP_BASECRL, CR_PROP_DELTACRL, CR_PROP_TEMPLATES */
00126         /* [in] */ LONG PropIndex, 
00127         /* [in] */ LONG PropType, /* PROPTYPE_BINARY, PROPTYPE_STRING */
00128         /* [in] */ LONG Flags, /* CV_OUT_BASE64HEADER, CV_OUT_BASE64REQUESTHEADER, CV_OUT_BASE64X509CRLHEADER */
00129         /* [retval][out] */ VARIANT *pvarPropertyValue);
00130 };
00131 #endif
00132 

Документация по КриптоПро CAPILite. Последние изменения: Tue Sep 8 15:22:54 2020. Создано системой  doxygen 1.4.5-20051109