ホーム › Security.Cryptography.Certificates › IEnroll4
IEnroll4
COMメソッド 32
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 91 HRESULT put_ThumbPrintWStr(CRYPT_INTEGER_BLOB thumbPrintBlob)
| thumbPrintBlob | CRYPT_INTEGER_BLOB | in | 保留中要求を識別する証明書のサムプリント(拇印)のバイナリを保持する CRYPT_INTEGER_BLOB を渡す。 |
vtbl 92 HRESULT get_ThumbPrintWStr(CRYPT_INTEGER_BLOB* thumbPrintBlob)
| thumbPrintBlob | CRYPT_INTEGER_BLOB* | inout | 現在設定されている証明書のサムプリントのバイナリを受け取る CRYPT_INTEGER_BLOB へのポインタである。 |
vtbl 93 HRESULT SetPrivateKeyArchiveCertificate(CERT_CONTEXT* pPrivateKeyArchiveCert)
| pPrivateKeyArchiveCert | CERT_CONTEXT* | in | 秘密キーアーカイブに使用する CA の暗号化証明書のコンテキストへのポインタを渡す。 |
vtbl 94 CERT_CONTEXT* GetPrivateKeyArchiveCertificate()
vtbl 95 HRESULT binaryBlobToString(INT Flags, CRYPT_INTEGER_BLOB* pblobBinary, LPWSTR* ppwszString)
| Flags | INT | in | 変換に使用するエンコード形式を指定するフラグを渡す。 |
| pblobBinary | CRYPT_INTEGER_BLOB* | inout | 文字列へ変換するバイナリデータを保持する CRYPT_INTEGER_BLOB へのポインタである。 |
| ppwszString | LPWSTR* | inout | 変換結果のエンコード済み文字列を受け取る LPWSTR へのポインタである。 |
vtbl 96 HRESULT stringToBinaryBlob(INT Flags, LPWSTR pwszString, CRYPT_INTEGER_BLOB* pblobBinary, INT* pdwSkip, INT* pdwFlags)
| Flags | INT | in | デコードに使用するエンコード形式を指定するフラグを渡す。 |
| pwszString | LPWSTR | in | バイナリへ変換するエンコード済み文字列を渡す。 |
| pblobBinary | CRYPT_INTEGER_BLOB* | inout | 変換結果のバイナリデータを受け取る CRYPT_INTEGER_BLOB へのポインタである。 |
| pdwSkip | INT* | inout | 入力文字列の先頭でスキップされた文字数を受け取る INT へのポインタである。 |
| pdwFlags | INT* | inout | 実際に使用されたエンコード形式のフラグを受け取る INT へのポインタである。 |
vtbl 97 HRESULT addExtensionToRequestWStr(INT Flags, LPWSTR pwszName, CRYPT_INTEGER_BLOB* pblobValue)
| Flags | INT | in | 拡張の追加方法を制御するフラグを渡す。 |
| pwszName | LPWSTR | in | 追加する証明書拡張の OID または名前を渡す。 |
| pblobValue | CRYPT_INTEGER_BLOB* | inout | 追加する証明書拡張の値のバイナリを保持する CRYPT_INTEGER_BLOB へのポインタである。 |
vtbl 98 HRESULT addAttributeToRequestWStr(INT Flags, LPWSTR pwszName, CRYPT_INTEGER_BLOB* pblobValue)
| Flags | INT | in | 属性の追加方法を制御するフラグを渡す。 |
| pwszName | LPWSTR | in | 追加する要求属性の OID または名前を渡す。 |
| pblobValue | CRYPT_INTEGER_BLOB* | inout | 追加する要求属性の値のバイナリを保持する CRYPT_INTEGER_BLOB へのポインタである。 |
| Flags | INT | in | 名前と値の組の追加方法を制御するフラグを渡す。 |
| pwszName | LPWSTR | in | 追加する名前と値の組の名前を渡す。 |
| pwszValue | LPWSTR | in | 追加する名前と値の組の値を渡す。 |
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)
| Flags | CERT_CREATE_REQUEST_FLAGS | in | 生成する要求の形式を指定する CERT_CREATE_REQUEST_FLAGS 値である。 |
| pwszDNName | LPWSTR | in | 証明書サブジェクトの識別名(Distinguished Name)を渡す。 |
| pwszUsage | LPWSTR | in | 要求するキー使用法を表す OID を渡す。 |
| pblobRequest | CRYPT_INTEGER_BLOB* | inout | 生成された証明書要求のバイナリを受け取る CRYPT_INTEGER_BLOB へのポインタである。 |
vtbl 103 HRESULT createFileRequestWStr(CERT_CREATE_REQUEST_FLAGS Flags, LPWSTR pwszDNName, LPWSTR pwszUsage, LPWSTR pwszRequestFileName)
| Flags | CERT_CREATE_REQUEST_FLAGS | in | 生成する要求の形式を指定する CERT_CREATE_REQUEST_FLAGS 値である。 |
| pwszDNName | LPWSTR | in | 証明書サブジェクトの識別名(Distinguished Name)を渡す。 |
| pwszUsage | LPWSTR | in | 要求するキー使用法を表す OID を渡す。 |
| pwszRequestFileName | LPWSTR | in | 生成した要求を書き込む出力ファイルのパスを渡す。 |
vtbl 104 HRESULT acceptResponseBlob(CRYPT_INTEGER_BLOB* pblobResponse)
| pblobResponse | CRYPT_INTEGER_BLOB* | inout | 受け入れる証明書応答のバイナリを保持する CRYPT_INTEGER_BLOB へのポインタである。 |
| pwszResponseFileName | LPWSTR | in | 受け入れる証明書応答を格納したファイルのパスを渡す。 |
vtbl 106 HRESULT getCertContextFromResponseBlob(CRYPT_INTEGER_BLOB* pblobResponse, CERT_CONTEXT** ppCertContext)
| pblobResponse | CRYPT_INTEGER_BLOB* | inout | 証明書コンテキストを抽出する元の応答のバイナリを保持する CRYPT_INTEGER_BLOB へのポインタである。 |
| ppCertContext | CERT_CONTEXT** | inout | 抽出された証明書コンテキストを受け取る CERT_CONTEXT ポインタへのポインタである。 |
vtbl 107 HRESULT getCertContextFromFileResponseWStr(LPWSTR pwszResponseFileName, CERT_CONTEXT** ppCertContext)
| pwszResponseFileName | LPWSTR | in | 証明書コンテキストを抽出する元の応答を格納したファイルのパスを渡す。 |
| ppCertContext | CERT_CONTEXT** | inout | 抽出された証明書コンテキストを受け取る CERT_CONTEXT ポインタへのポインタである。 |
vtbl 108 HRESULT createPFXWStr(LPWSTR pwszPassword, CRYPT_INTEGER_BLOB* pblobPFX)
| pwszPassword | LPWSTR | in | PFX(PKCS #12)の保護に使用するパスワードを渡す。 |
| pblobPFX | CRYPT_INTEGER_BLOB* | inout | 生成された PFX データのバイナリを受け取る CRYPT_INTEGER_BLOB へのポインタである。 |
| pwszPassword | LPWSTR | in | PFX(PKCS #12)の保護に使用するパスワードを渡す。 |
| pwszPFXFileName | LPWSTR | in | 生成した PFX を書き込む出力ファイルのパスを渡す。 |
vtbl 110 HRESULT setPendingRequestInfoWStr(INT lRequestID, LPWSTR pwszCADNS, LPWSTR pwszCAName, LPWSTR pwszFriendlyName)
| lRequestID | INT | in | 保留中要求を識別する要求 ID を指定する。 |
| pwszCADNS | LPWSTR | in | 発行先 CA の DNS 名を渡す。 |
| pwszCAName | LPWSTR | in | 発行先 CA の名前を渡す。 |
| pwszFriendlyName | LPWSTR | in | 保留中要求に付与する分かりやすい表示名を渡す。 |
vtbl 111 HRESULT enumPendingRequestWStr(INT lIndex, PENDING_REQUEST_DESIRED_PROPERTY lDesiredProperty, void* ppProperty)
| lIndex | INT | in | 列挙する保留中要求の 0 始まりのインデックスを指定する。 |
| lDesiredProperty | PENDING_REQUEST_DESIRED_PROPERTY | in | 取得したいプロパティの種類を指定する PENDING_REQUEST_DESIRED_PROPERTY 値である。 |
| ppProperty | void* | inout | 指定したプロパティの値を受け取る出力バッファへのポインタである。 |
vtbl 112 HRESULT removePendingRequestWStr(CRYPT_INTEGER_BLOB thumbPrintBlob)
| thumbPrintBlob | CRYPT_INTEGER_BLOB | in | 削除する保留中要求を識別する証明書のサムプリントのバイナリを保持する CRYPT_INTEGER_BLOB を渡す。 |
vtbl 113 HRESULT GetKeyLenEx(XEKL_KEYSIZE lSizeSpec, XEKL_KEYSPEC lKeySpec, INT* pdwKeySize)
| lSizeSpec | XEKL_KEYSIZE | in | 取得するキー長の種別(最小、最大、既定、増分)を指定する XEKL_KEYSIZE 値である。 |
| lKeySpec | XEKL_KEYSPEC | in | 対象とするキーの仕様(署名、鍵交換)を指定する XEKL_KEYSPEC 値である。 |
| pdwKeySize | INT* | inout | 取得したキー長(ビット数)を受け取る INT へのポインタである。 |
vtbl 114 HRESULT InstallPKCS7BlobEx(CRYPT_INTEGER_BLOB* pBlobPKCS7, INT* plCertInstalled)
| pBlobPKCS7 | CRYPT_INTEGER_BLOB* | inout | インストールする PKCS #7 証明書応答のバイナリを保持する CRYPT_INTEGER_BLOB へのポインタである。 |
| plCertInstalled | INT* | inout | インストールされた証明書の数を受け取る INT へのポインタである。 |
vtbl 115 HRESULT AddCertTypeToRequestWStrEx(ADDED_CERT_TYPE lType, LPWSTR pwszOIDOrName, INT lMajorVersion, BOOL fMinorVersion, INT lMinorVersion)
| lType | ADDED_CERT_TYPE | in | 追加する証明書種別の指定方法(OID か名前か)を表す ADDED_CERT_TYPE 値である。 |
| pwszOIDOrName | LPWSTR | in | 追加する証明書テンプレートの OID または名前を渡す。 |
| lMajorVersion | INT | in | 証明書テンプレートのメジャーバージョンを指定する。 |
| fMinorVersion | BOOL | in | マイナーバージョンを指定するかどうかを示す BOOL 値を渡す。 |
| lMinorVersion | INT | in | 証明書テンプレートのマイナーバージョンを指定する。 |
| pwszProvName | LPWSTR | in | 種類を問い合わせる暗号化サービスプロバイダー(CSP)の名前を渡す。 |
| plProvType | INT* | inout | 指定プロバイダーの種類を受け取る INT へのポインタである。 |
vtbl 117 HRESULT addBlobPropertyToCertificateWStr(INT lPropertyId, INT lReserved, CRYPT_INTEGER_BLOB* pBlobProperty)
| lPropertyId | INT | in | 証明書に追加するプロパティの ID を指定する。 |
| lReserved | INT | in | 予約済みパラメータであり、0 を指定する。 |
| pBlobProperty | CRYPT_INTEGER_BLOB* | inout | 追加するプロパティの値のバイナリを保持する CRYPT_INTEGER_BLOB へのポインタである。 |
vtbl 118 HRESULT SetSignerCertificate(CERT_CONTEXT* pSignerCert)
| pSignerCert | CERT_CONTEXT* | in | 要求への署名に使用する署名者証明書のコンテキストへのポインタを渡す。 |
| lClientId | INT | in | 登録要求を発行するクライアントを識別するクライアント ID を渡す。 |
| plClientId | INT* | inout | 現在のクライアント ID を受け取る INT へのポインタである。 |
| fInclude | BOOL | in | 要求にサブジェクトキー識別子(Subject Key ID)を含めるかどうかを指定する BOOL 値を渡す。 |
| pfInclude | BOOL* | 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 指定が可能。#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 sptr #comfunc global IEnroll4_SetPrivateKeyArchiveCertificate 93 sptr #comfunc global IEnroll4_GetPrivateKeyArchiveCertificate 94 #comfunc global IEnroll4_binaryBlobToString 95 int,sptr,sptr #comfunc global IEnroll4_stringToBinaryBlob 96 int,wstr,sptr,sptr,sptr #comfunc global IEnroll4_addExtensionToRequestWStr 97 int,wstr,sptr #comfunc global IEnroll4_addAttributeToRequestWStr 98 int,wstr,sptr #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,sptr #comfunc global IEnroll4_createFileRequestWStr 103 int,wstr,wstr,wstr #comfunc global IEnroll4_acceptResponseBlob 104 sptr #comfunc global IEnroll4_acceptFileResponseWStr 105 wstr #comfunc global IEnroll4_getCertContextFromResponseBlob 106 sptr,sptr #comfunc global IEnroll4_getCertContextFromFileResponseWStr 107 wstr,sptr #comfunc global IEnroll4_createPFXWStr 108 wstr,sptr #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,sptr #comfunc global IEnroll4_InstallPKCS7BlobEx 114 sptr,sptr #comfunc global IEnroll4_AddCertTypeToRequestWStrEx 115 int,wstr,int,int,int #comfunc global IEnroll4_getProviderTypeWStr 116 wstr,sptr #comfunc global IEnroll4_addBlobPropertyToCertificateWStr 117 int,int,sptr #comfunc global IEnroll4_SetSignerCertificate 118 sptr #comfunc global IEnroll4_put_ClientId 119 int #comfunc global IEnroll4_get_ClientId 120 sptr #comfunc global IEnroll4_put_IncludeSubjectKeyID 121 int #comfunc global IEnroll4_get_IncludeSubjectKeyID 122 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。