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

IX509CertificateRequestPkcs10

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID728ab342-217d-11da-b2a4-000e7bbb2b09継承元IX509CertificateRequest呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl32

メソッド 28

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 32 HRESULT InitializeFromTemplateName(X509CertificateEnrollmentContext Context, LPWSTR strTemplateName)
ContextX509CertificateEnrollmentContextin証明書要求を作成する登録コンテキストを指定する X509CertificateEnrollmentContext 列挙値である。
strTemplateNameLPWSTRin要求の基にする証明書テンプレートの名前を文字列で指定する。
vtbl 33 HRESULT InitializeFromPrivateKey(X509CertificateEnrollmentContext Context, IX509PrivateKey* pPrivateKey, LPWSTR strTemplateName)
ContextX509CertificateEnrollmentContextin証明書要求を作成する登録コンテキストを指定する X509CertificateEnrollmentContext 列挙値である。
pPrivateKeyIX509PrivateKey*inoptional要求に使用する既存の秘密鍵を表す IX509PrivateKey オブジェクトを渡す。
strTemplateNameLPWSTRin要求の基にする証明書テンプレートの名前を文字列で指定する。
vtbl 34 HRESULT InitializeFromPublicKey(X509CertificateEnrollmentContext Context, IX509PublicKey* pPublicKey, LPWSTR strTemplateName)
ContextX509CertificateEnrollmentContextin証明書要求を作成する登録コンテキストを指定する X509CertificateEnrollmentContext 列挙値である。
pPublicKeyIX509PublicKey*inoptional要求に使用する公開鍵を表す IX509PublicKey オブジェクトを渡す。
strTemplateNameLPWSTRin要求の基にする証明書テンプレートの名前を文字列で指定する。
vtbl 35 HRESULT InitializeFromCertificate(X509CertificateEnrollmentContext Context, LPWSTR strCertificate, EncodingType Encoding, X509RequestInheritOptions InheritOptions)
ContextX509CertificateEnrollmentContextin証明書要求を作成する登録コンテキストを指定する X509CertificateEnrollmentContext 列挙値である。
strCertificateLPWSTRin要求の基にする既存の証明書を指定エンコーディングの文字列として渡す。
EncodingEncodingTypeinstrCertificate のエンコーディング種別を指定する EncodingType 列挙値である。
InheritOptionsX509RequestInheritOptionsin元証明書からどの属性を継承するかを指定する X509RequestInheritOptions 列挙値である。
vtbl 36 HRESULT InitializeDecode(LPWSTR strEncodedData, EncodingType Encoding)
strEncodedDataLPWSTRinデコードして読み込む既存のエンコード済み要求データを文字列として渡す。
EncodingEncodingTypeinstrEncodedData のエンコーディング種別を指定する EncodingType 列挙値である。
vtbl 37 HRESULT CheckSignature(Pkcs10AllowedSignatureTypes AllowedSignatureTypes)
AllowedSignatureTypesPkcs10AllowedSignatureTypesin検証で許可する署名の種類を指定する Pkcs10AllowedSignatureTypes 列挙値である。
vtbl 38 HRESULT IsSmartCard(VARIANT_BOOL* pValue)
pValueVARIANT_BOOL*out要求の鍵がスマートカード上に存在するかどうかを表す VARIANT_BOOL を受け取るポインタである。
vtbl 39 HRESULT get_TemplateObjectId(IObjectId** ppValue)
ppValueIObjectId**out要求に関連付けられた証明書テンプレートの OID を表す IObjectId オブジェクトを受け取るポインタである。
vtbl 40 HRESULT get_PublicKey(IX509PublicKey** ppValue)
ppValueIX509PublicKey**out要求に含まれる公開鍵を表す IX509PublicKey オブジェクトを受け取るポインタである。
vtbl 41 HRESULT get_PrivateKey(IX509PrivateKey** ppValue)
ppValueIX509PrivateKey**out要求に関連付けられた秘密鍵を表す IX509PrivateKey オブジェクトを受け取るポインタである。
vtbl 42 HRESULT get_NullSigned(VARIANT_BOOL* pValue)
pValueVARIANT_BOOL*out要求が NULL 署名(署名なし)であるかどうかを表す VARIANT_BOOL を受け取るポインタである。
vtbl 43 HRESULT get_ReuseKey(VARIANT_BOOL* pValue)
pValueVARIANT_BOOL*out既存の鍵を再利用するかどうかを表す VARIANT_BOOL を受け取るポインタである。
vtbl 44 HRESULT get_OldCertificate(EncodingType Encoding, LPWSTR* pValue)
EncodingEncodingTypein取得する旧証明書文字列のエンコーディング種別を指定する EncodingType 列挙値である。
pValueLPWSTR*out更新元となる旧証明書を指定エンコーディングの文字列として受け取るポインタである。
vtbl 45 HRESULT get_Subject(IX500DistinguishedName** ppValue)
ppValueIX500DistinguishedName**out要求のサブジェクト(主体)識別名を表す IX500DistinguishedName オブジェクトを受け取るポインタである。
vtbl 46 HRESULT put_Subject(IX500DistinguishedName* pValue)
pValueIX500DistinguishedName*inoptional要求のサブジェクト(主体)識別名を表す IX500DistinguishedName オブジェクトを渡す。
vtbl 47 HRESULT get_CspStatuses(ICspStatuses** ppValue)
ppValueICspStatuses**out利用可能な暗号化サービスプロバイダー(CSP)の状態コレクション ICspStatuses を受け取るポインタである。
vtbl 48 HRESULT get_SmimeCapabilities(VARIANT_BOOL* pValue)
pValueVARIANT_BOOL*outS/MIME 機能拡張を要求に含めるかどうかを表す VARIANT_BOOL を受け取るポインタである。
vtbl 49 HRESULT put_SmimeCapabilities(VARIANT_BOOL Value)
ValueVARIANT_BOOLinS/MIME 機能拡張を要求に含めるかどうかを VARIANT_BOOL で指定する。
vtbl 50 HRESULT get_SignatureInformation(IX509SignatureInformation** ppValue)
ppValueIX509SignatureInformation**out署名アルゴリズム等の署名情報を表す IX509SignatureInformation オブジェクトを受け取るポインタである。
vtbl 51 HRESULT get_KeyContainerNamePrefix(LPWSTR* pValue)
pValueLPWSTR*out鍵コンテナー名に付与するプレフィックス文字列を受け取るポインタである。
vtbl 52 HRESULT put_KeyContainerNamePrefix(LPWSTR Value)
ValueLPWSTRin鍵コンテナー名に付与するプレフィックス文字列を指定する。
vtbl 53 HRESULT get_CryptAttributes(ICryptAttributes** ppValue)
ppValueICryptAttributes**out要求に含まれる暗号化属性のコレクション ICryptAttributes を受け取るポインタである。
vtbl 54 HRESULT get_X509Extensions(IX509Extensions** ppValue)
ppValueIX509Extensions**out要求に含まれる X.509 拡張のコレクション IX509Extensions を受け取るポインタである。
vtbl 55 HRESULT get_CriticalExtensions(IObjectIds** ppValue)
ppValueIObjectIds**outクリティカル(重要)としてマークされた拡張の OID コレクション IObjectIds を受け取るポインタである。
vtbl 56 HRESULT get_SuppressOids(IObjectIds** ppValue)
ppValueIObjectIds**out要求から抑制(除外)する拡張の OID コレクション IObjectIds を受け取るポインタである。
vtbl 57 HRESULT get_RawDataToBeSigned(EncodingType Encoding, LPWSTR* pValue)
EncodingEncodingTypein取得する署名対象データのエンコーディング種別を指定する EncodingType 列挙値である。
pValueLPWSTR*out署名前の(署名対象となる)要求データを指定エンコーディングの文字列として受け取るポインタである。
vtbl 58 HRESULT get_Signature(EncodingType Encoding, LPWSTR* pValue)
EncodingEncodingTypein取得する署名データのエンコーディング種別を指定する EncodingType 列挙値である。
pValueLPWSTR*out要求に付与された署名を指定エンコーディングの文字列として受け取るポインタである。
vtbl 59 HRESULT GetCspStatuses(X509KeySpec KeySpec, ICspStatuses** ppCspStatuses)
KeySpecX509KeySpecin対象とする鍵の用途(署名用/交換用)を指定する X509KeySpec 列挙値である。
ppCspStatusesICspStatuses**out指定した鍵用途に対応する CSP 状態コレクション ICspStatuses を受け取るポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IX509CertificateRequestPkcs10 "{728AB342-217D-11DA-B2A4-000E7BBB2B09}"
#usecom global IX509CertificateRequestPkcs10 IID_IX509CertificateRequestPkcs10 "{}"
#comfunc global IX509CertificateRequestPkcs10_InitializeFromTemplateName  32 int,wstr
#comfunc global IX509CertificateRequestPkcs10_InitializeFromPrivateKey    33 int,sptr,wstr
#comfunc global IX509CertificateRequestPkcs10_InitializeFromPublicKey     34 int,sptr,wstr
#comfunc global IX509CertificateRequestPkcs10_InitializeFromCertificate   35 int,wstr,int,int
#comfunc global IX509CertificateRequestPkcs10_InitializeDecode            36 wstr,int
#comfunc global IX509CertificateRequestPkcs10_CheckSignature              37 int
#comfunc global IX509CertificateRequestPkcs10_IsSmartCard                 38 var
#comfunc global IX509CertificateRequestPkcs10_get_TemplateObjectId        39 sptr
#comfunc global IX509CertificateRequestPkcs10_get_PublicKey               40 sptr
#comfunc global IX509CertificateRequestPkcs10_get_PrivateKey              41 sptr
#comfunc global IX509CertificateRequestPkcs10_get_NullSigned              42 var
#comfunc global IX509CertificateRequestPkcs10_get_ReuseKey                43 var
#comfunc global IX509CertificateRequestPkcs10_get_OldCertificate          44 int,var
#comfunc global IX509CertificateRequestPkcs10_get_Subject                 45 sptr
#comfunc global IX509CertificateRequestPkcs10_put_Subject                 46 sptr
#comfunc global IX509CertificateRequestPkcs10_get_CspStatuses             47 sptr
#comfunc global IX509CertificateRequestPkcs10_get_SmimeCapabilities       48 var
#comfunc global IX509CertificateRequestPkcs10_put_SmimeCapabilities       49 int
#comfunc global IX509CertificateRequestPkcs10_get_SignatureInformation    50 sptr
#comfunc global IX509CertificateRequestPkcs10_get_KeyContainerNamePrefix  51 var
#comfunc global IX509CertificateRequestPkcs10_put_KeyContainerNamePrefix  52 wstr
#comfunc global IX509CertificateRequestPkcs10_get_CryptAttributes         53 sptr
#comfunc global IX509CertificateRequestPkcs10_get_X509Extensions          54 sptr
#comfunc global IX509CertificateRequestPkcs10_get_CriticalExtensions      55 sptr
#comfunc global IX509CertificateRequestPkcs10_get_SuppressOids            56 sptr
#comfunc global IX509CertificateRequestPkcs10_get_RawDataToBeSigned       57 int,var
#comfunc global IX509CertificateRequestPkcs10_get_Signature               58 int,var
#comfunc global IX509CertificateRequestPkcs10_GetCspStatuses              59 int,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。