前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3
SFBCertChain
ICertChain インターフェースのラッパークラスです。
#include <SFBCertChain.h.hpp>
class SFBCertChain : public SFBxOpts;
SFMTYPEDEFWRAPPER(SFBCertChain)

継承図

SFBCertChain クラスの継承図

バージョン

BREW 2.0 BREW 2.1 BREW 3.1 BREW 4.0
× × ×

参照

BREW API ICertChain

メンバ

パブリック関数
SFCError AddCert( SInt32 certType , UInt08ConstPtr certificate , SInt32 certLen , SInt32Ptr outLen )
証明書を追加するための、 SFBCertBag::AddOpt() より推奨される代替関数です。
static
SFBCertChainSmp
NewInstance( SFCErrorPtr exception = null )
SFBCertChain インスタンスを生成します。
static
SFBCertChainSmp
NewInstance( AEECLSID id , SFCErrorPtr exception = null )
SFBCertChain インスタンスを生成します。
SFCError AddOpt( xOpt * opts ) (SFBxOpts から継承)
xOpt のリストを現在のオプションセットに追加します。
SFCError GetOpt( SInt32 id , SInt32 index , xOpt * opt ) (SFBxOpts から継承)
id に一致する xOpts の xOpts リストで、 xOpt を検索します。
SFCError QueryInterface( AEECLSID clsid , VoidHandle handle ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
SFCError QueryInterface( AEECLSID clsid , SFBBaseSmpPtr handle ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
SFBBaseSmp QueryInterface( AEECLSID clsid ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
SFCError RemoveOpt( SInt32 id , SInt32 index ) (SFBxOpts から継承)
id に一致する index 番目の xOpt を削除します。
Void Self( AEECLSID clsidReq , SFBQuerySmpPtr clone , AEECLSID clsidImp ) (SFBQuery から継承)
オブジェクトを単一インターフェースで実装するときに使います。
SFBQuerySmp Self( AEECLSID clsidReq , AEECLSID clsidImp ) (SFBQuery から継承)
オブジェクトを単一インターフェースで実装するときに使います。
プロテクト関数
static
SFBBaseSmp
FactoryByCreate( AEECLSID id , SFCErrorPtr exception = null ) (SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを生成します。
static
SFBBaseSmp
FactoryByQuery( SFBQuerySmpConstRef query , AEECLSID id , SFCErrorPtr exception = null ) (SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを指定した SFBQuery インスタンスを使用して生成します。

SFBCertChain::AddCert
証明書を追加するための、 SFBCertBag::AddOpt() より推奨される代替関数です。
[ public ]
SFCError AddCert(
    SInt32 certType              // CERTDATAOPT_ROOT_CERT、.._LEAF_CERT、または ... _BRANCH_CERT
    UInt08ConstPtr certificate   // バッファ内の DER エンコードされた証明書へのポインタ
    SInt32 certLen               // 力バッファ cpCert の長さ
    SInt32Ptr outLen             // 実際に追加された証明書の長さ
);

戻り値

  • AEE_SUCCESS: 証明書が正常に追加された。
  • AEE_ENOMEMORY: メモリー不足のため追加できない。
  • AEE_EMEMPTR: オブジェクトの ASN.1/DER 長さが nDataLen よりも大きい。
  • AEE_EREADONLY: 証明書バッグが読み取り専用のため証明書を追加できない。

解説

ASN.1/DER 形式の証明書は ICertChain_AddOpt() で直接追加することができますが、この操作に対しては適切なバッファ長検査が行われないため、壊れた証明書が追加された場合にバッファオーバーランとなることがあります。アントラステッドサーバーから証明書が送られることがよくあるので、証明書が壊れていないとは想定しないでください。

参照

BREW API ICertChain_AddCert | BREW API ICertChain_AddOpt


SFBCertChain::NewInstance
SFBCertChain インスタンスを生成します。
[ public, static ]
SFBCertChainSmp NewInstance(
    SFCErrorPtr exception = null   // エラー値
);
[ public, static ]
SFBCertChainSmp NewInstance(
    AEECLSID id                    // クラスID
    SFCErrorPtr exception = null   // エラー値
);