Win32 API 日本語リファレンス
ホームSecurity.Cryptography.Certificates › IEnroll4

IEnroll4

COM
IIDf8053fe5-78f4-448f-a0db-41d61b73446b継承元IEnroll2自前メソッド開始 vtbl91

メソッド 32

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 91 HRESULT put_ThumbPrintWStr(CRYPT_INTEGER_BLOB thumbPrintBlob)
thumbPrintBlobCRYPT_INTEGER_BLOBin保留中要求を識別する証明書のサムプリント(拇印)のバイナリを保持する CRYPT_INTEGER_BLOB を渡す。
vtbl 92 HRESULT get_ThumbPrintWStr(CRYPT_INTEGER_BLOB* thumbPrintBlob)
thumbPrintBlobCRYPT_INTEGER_BLOB*inout現在設定されている証明書のサムプリントのバイナリを受け取る CRYPT_INTEGER_BLOB へのポインタである。
vtbl 93 HRESULT SetPrivateKeyArchiveCertificate(CERT_CONTEXT* pPrivateKeyArchiveCert)
pPrivateKeyArchiveCertCERT_CONTEXT*in秘密キーアーカイブに使用する CA の暗号化証明書のコンテキストへのポインタを渡す。
vtbl 94 CERT_CONTEXT* GetPrivateKeyArchiveCertificate()
vtbl 95 HRESULT binaryBlobToString(INT Flags, CRYPT_INTEGER_BLOB* pblobBinary, LPWSTR* ppwszString)
FlagsINTin変換に使用するエンコード形式を指定するフラグを渡す。
pblobBinaryCRYPT_INTEGER_BLOB*inout文字列へ変換するバイナリデータを保持する CRYPT_INTEGER_BLOB へのポインタである。
ppwszStringLPWSTR*inout変換結果のエンコード済み文字列を受け取る LPWSTR へのポインタである。
vtbl 96 HRESULT stringToBinaryBlob(INT Flags, LPWSTR pwszString, CRYPT_INTEGER_BLOB* pblobBinary, INT* pdwSkip, INT* pdwFlags)
FlagsINTinデコードに使用するエンコード形式を指定するフラグを渡す。
pwszStringLPWSTRinバイナリへ変換するエンコード済み文字列を渡す。
pblobBinaryCRYPT_INTEGER_BLOB*inout変換結果のバイナリデータを受け取る CRYPT_INTEGER_BLOB へのポインタである。
pdwSkipINT*inout入力文字列の先頭でスキップされた文字数を受け取る INT へのポインタである。
pdwFlagsINT*inout実際に使用されたエンコード形式のフラグを受け取る INT へのポインタである。
vtbl 97 HRESULT addExtensionToRequestWStr(INT Flags, LPWSTR pwszName, CRYPT_INTEGER_BLOB* pblobValue)
FlagsINTin拡張の追加方法を制御するフラグを渡す。
pwszNameLPWSTRin追加する証明書拡張の OID または名前を渡す。
pblobValueCRYPT_INTEGER_BLOB*inout追加する証明書拡張の値のバイナリを保持する CRYPT_INTEGER_BLOB へのポインタである。
vtbl 98 HRESULT addAttributeToRequestWStr(INT Flags, LPWSTR pwszName, CRYPT_INTEGER_BLOB* pblobValue)
FlagsINTin属性の追加方法を制御するフラグを渡す。
pwszNameLPWSTRin追加する要求属性の OID または名前を渡す。
pblobValueCRYPT_INTEGER_BLOB*inout追加する要求属性の値のバイナリを保持する CRYPT_INTEGER_BLOB へのポインタである。
vtbl 99 HRESULT addNameValuePairToRequestWStr(INT Flags, LPWSTR pwszName, LPWSTR pwszValue)
FlagsINTin名前と値の組の追加方法を制御するフラグを渡す。
pwszNameLPWSTRin追加する名前と値の組の名前を渡す。
pwszValueLPWSTRin追加する名前と値の組の値を渡す。
vtbl 100 HRESULT resetExtensions()
vtbl 101 HRESULT resetAttributes()
vtbl 102 HRESULT createRequestWStr(CERT_CREATE_REQUEST_FLAGS Flags, LPWSTR pwszDNName, LPWSTR pwszUsage, CRYPT_INTEGER_BLOB* pblobRequest)
FlagsCERT_CREATE_REQUEST_FLAGSin生成する要求の形式を指定する CERT_CREATE_REQUEST_FLAGS 値である。
pwszDNNameLPWSTRin証明書サブジェクトの識別名(Distinguished Name)を渡す。
pwszUsageLPWSTRin要求するキー使用法を表す OID を渡す。
pblobRequestCRYPT_INTEGER_BLOB*inout生成された証明書要求のバイナリを受け取る CRYPT_INTEGER_BLOB へのポインタである。
vtbl 103 HRESULT createFileRequestWStr(CERT_CREATE_REQUEST_FLAGS Flags, LPWSTR pwszDNName, LPWSTR pwszUsage, LPWSTR pwszRequestFileName)
FlagsCERT_CREATE_REQUEST_FLAGSin生成する要求の形式を指定する CERT_CREATE_REQUEST_FLAGS 値である。
pwszDNNameLPWSTRin証明書サブジェクトの識別名(Distinguished Name)を渡す。
pwszUsageLPWSTRin要求するキー使用法を表す OID を渡す。
pwszRequestFileNameLPWSTRin生成した要求を書き込む出力ファイルのパスを渡す。
vtbl 104 HRESULT acceptResponseBlob(CRYPT_INTEGER_BLOB* pblobResponse)
pblobResponseCRYPT_INTEGER_BLOB*inout受け入れる証明書応答のバイナリを保持する CRYPT_INTEGER_BLOB へのポインタである。
vtbl 105 HRESULT acceptFileResponseWStr(LPWSTR pwszResponseFileName)
pwszResponseFileNameLPWSTRin受け入れる証明書応答を格納したファイルのパスを渡す。
vtbl 106 HRESULT getCertContextFromResponseBlob(CRYPT_INTEGER_BLOB* pblobResponse, CERT_CONTEXT** ppCertContext)
pblobResponseCRYPT_INTEGER_BLOB*inout証明書コンテキストを抽出する元の応答のバイナリを保持する CRYPT_INTEGER_BLOB へのポインタである。
ppCertContextCERT_CONTEXT**inout抽出された証明書コンテキストを受け取る CERT_CONTEXT ポインタへのポインタである。
vtbl 107 HRESULT getCertContextFromFileResponseWStr(LPWSTR pwszResponseFileName, CERT_CONTEXT** ppCertContext)
pwszResponseFileNameLPWSTRin証明書コンテキストを抽出する元の応答を格納したファイルのパスを渡す。
ppCertContextCERT_CONTEXT**inout抽出された証明書コンテキストを受け取る CERT_CONTEXT ポインタへのポインタである。
vtbl 108 HRESULT createPFXWStr(LPWSTR pwszPassword, CRYPT_INTEGER_BLOB* pblobPFX)
pwszPasswordLPWSTRinPFX(PKCS #12)の保護に使用するパスワードを渡す。
pblobPFXCRYPT_INTEGER_BLOB*inout生成された PFX データのバイナリを受け取る CRYPT_INTEGER_BLOB へのポインタである。
vtbl 109 HRESULT createFilePFXWStr(LPWSTR pwszPassword, LPWSTR pwszPFXFileName)
pwszPasswordLPWSTRinPFX(PKCS #12)の保護に使用するパスワードを渡す。
pwszPFXFileNameLPWSTRin生成した PFX を書き込む出力ファイルのパスを渡す。
vtbl 110 HRESULT setPendingRequestInfoWStr(INT lRequestID, LPWSTR pwszCADNS, LPWSTR pwszCAName, LPWSTR pwszFriendlyName)
lRequestIDINTin保留中要求を識別する要求 ID を指定する。
pwszCADNSLPWSTRin発行先 CA の DNS 名を渡す。
pwszCANameLPWSTRin発行先 CA の名前を渡す。
pwszFriendlyNameLPWSTRin保留中要求に付与する分かりやすい表示名を渡す。
vtbl 111 HRESULT enumPendingRequestWStr(INT lIndex, PENDING_REQUEST_DESIRED_PROPERTY lDesiredProperty, void* ppProperty)
lIndexINTin列挙する保留中要求の 0 始まりのインデックスを指定する。
lDesiredPropertyPENDING_REQUEST_DESIRED_PROPERTYin取得したいプロパティの種類を指定する PENDING_REQUEST_DESIRED_PROPERTY 値である。
ppPropertyvoid*inout指定したプロパティの値を受け取る出力バッファへのポインタである。
vtbl 112 HRESULT removePendingRequestWStr(CRYPT_INTEGER_BLOB thumbPrintBlob)
thumbPrintBlobCRYPT_INTEGER_BLOBin削除する保留中要求を識別する証明書のサムプリントのバイナリを保持する CRYPT_INTEGER_BLOB を渡す。
vtbl 113 HRESULT GetKeyLenEx(XEKL_KEYSIZE lSizeSpec, XEKL_KEYSPEC lKeySpec, INT* pdwKeySize)
lSizeSpecXEKL_KEYSIZEin取得するキー長の種別(最小、最大、既定、増分)を指定する XEKL_KEYSIZE 値である。
lKeySpecXEKL_KEYSPECin対象とするキーの仕様(署名、鍵交換)を指定する XEKL_KEYSPEC 値である。
pdwKeySizeINT*inout取得したキー長(ビット数)を受け取る INT へのポインタである。
vtbl 114 HRESULT InstallPKCS7BlobEx(CRYPT_INTEGER_BLOB* pBlobPKCS7, INT* plCertInstalled)
pBlobPKCS7CRYPT_INTEGER_BLOB*inoutインストールする PKCS #7 証明書応答のバイナリを保持する CRYPT_INTEGER_BLOB へのポインタである。
plCertInstalledINT*inoutインストールされた証明書の数を受け取る INT へのポインタである。
vtbl 115 HRESULT AddCertTypeToRequestWStrEx(ADDED_CERT_TYPE lType, LPWSTR pwszOIDOrName, INT lMajorVersion, BOOL fMinorVersion, INT lMinorVersion)
lTypeADDED_CERT_TYPEin追加する証明書種別の指定方法(OID か名前か)を表す ADDED_CERT_TYPE 値である。
pwszOIDOrNameLPWSTRin追加する証明書テンプレートの OID または名前を渡す。
lMajorVersionINTin証明書テンプレートのメジャーバージョンを指定する。
fMinorVersionBOOLinマイナーバージョンを指定するかどうかを示す BOOL 値を渡す。
lMinorVersionINTin証明書テンプレートのマイナーバージョンを指定する。
vtbl 116 HRESULT getProviderTypeWStr(LPWSTR pwszProvName, INT* plProvType)
pwszProvNameLPWSTRin種類を問い合わせる暗号化サービスプロバイダー(CSP)の名前を渡す。
plProvTypeINT*inout指定プロバイダーの種類を受け取る INT へのポインタである。
vtbl 117 HRESULT addBlobPropertyToCertificateWStr(INT lPropertyId, INT lReserved, CRYPT_INTEGER_BLOB* pBlobProperty)
lPropertyIdINTin証明書に追加するプロパティの ID を指定する。
lReservedINTin予約済みパラメータであり、0 を指定する。
pBlobPropertyCRYPT_INTEGER_BLOB*inout追加するプロパティの値のバイナリを保持する CRYPT_INTEGER_BLOB へのポインタである。
vtbl 118 HRESULT SetSignerCertificate(CERT_CONTEXT* pSignerCert)
pSignerCertCERT_CONTEXT*in要求への署名に使用する署名者証明書のコンテキストへのポインタを渡す。
vtbl 119 HRESULT put_ClientId(INT lClientId)
lClientIdINTin登録要求を発行するクライアントを識別するクライアント ID を渡す。
vtbl 120 HRESULT get_ClientId(INT* plClientId)
plClientIdINT*inout現在のクライアント ID を受け取る INT へのポインタである。
vtbl 121 HRESULT put_IncludeSubjectKeyID(BOOL fInclude)
fIncludeBOOLin要求にサブジェクトキー識別子(Subject Key ID)を含めるかどうかを指定する BOOL 値を渡す。
vtbl 122 HRESULT get_IncludeSubjectKeyID(BOOL* pfInclude)
pfIncludeBOOL*inout要求にサブジェクトキー識別子を含めるかどうかを受け取る BOOL へのポインタである。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IEnroll4 "{F8053FE5-78F4-448F-A0DB-41D61B73446B}"
#usecom global IEnroll4 IID_IEnroll4 "{}"
#comfunc global IEnroll4_put_ThumbPrintWStr                  91 int
#comfunc global IEnroll4_get_ThumbPrintWStr                  92 var
#comfunc global IEnroll4_SetPrivateKeyArchiveCertificate     93 var
#comfunc global IEnroll4_GetPrivateKeyArchiveCertificate     94
#comfunc global IEnroll4_binaryBlobToString                  95 int,var,var
#comfunc global IEnroll4_stringToBinaryBlob                  96 int,wstr,var,var,var
#comfunc global IEnroll4_addExtensionToRequestWStr           97 int,wstr,var
#comfunc global IEnroll4_addAttributeToRequestWStr           98 int,wstr,var
#comfunc global IEnroll4_addNameValuePairToRequestWStr       99 int,wstr,wstr
#comfunc global IEnroll4_resetExtensions                     100
#comfunc global IEnroll4_resetAttributes                     101
#comfunc global IEnroll4_createRequestWStr                   102 int,wstr,wstr,var
#comfunc global IEnroll4_createFileRequestWStr               103 int,wstr,wstr,wstr
#comfunc global IEnroll4_acceptResponseBlob                  104 var
#comfunc global IEnroll4_acceptFileResponseWStr              105 wstr
#comfunc global IEnroll4_getCertContextFromResponseBlob      106 var,var
#comfunc global IEnroll4_getCertContextFromFileResponseWStr  107 wstr,var
#comfunc global IEnroll4_createPFXWStr                       108 wstr,var
#comfunc global IEnroll4_createFilePFXWStr                   109 wstr,wstr
#comfunc global IEnroll4_setPendingRequestInfoWStr           110 int,wstr,wstr,wstr
#comfunc global IEnroll4_enumPendingRequestWStr              111 int,int,sptr
#comfunc global IEnroll4_removePendingRequestWStr            112 int
#comfunc global IEnroll4_GetKeyLenEx                         113 int,int,var
#comfunc global IEnroll4_InstallPKCS7BlobEx                  114 var,var
#comfunc global IEnroll4_AddCertTypeToRequestWStrEx          115 int,wstr,int,int,int
#comfunc global IEnroll4_getProviderTypeWStr                 116 wstr,var
#comfunc global IEnroll4_addBlobPropertyToCertificateWStr    117 int,int,var
#comfunc global IEnroll4_SetSignerCertificate                118 var
#comfunc global IEnroll4_put_ClientId                        119 int
#comfunc global IEnroll4_get_ClientId                        120 var
#comfunc global IEnroll4_put_IncludeSubjectKeyID             121 int
#comfunc global IEnroll4_get_IncludeSubjectKeyID             122 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。