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

継承図

SFBCertBag クラスの継承図

バージョン

BREW 2.0 BREW 2.1 BREW 3.1 BREW 4.0
× × ×

参照

BREW API ICertBag

メンバ

パブリック関数
SFCError AddCert( SInt32 certType , UInt08ConstPtr certificate , SInt32 certLen , SInt32Ptr outLen )
証明書を追加するための、 SFBCertBag::AddOpt() より推奨される代替関数です。
SFCError AddCertBag( SFBCertBagSmpConstRef newBag )
1 つの証明書バッグを別の証明書バッグに追加し、ネスティングした証明書バッグを作成します。
SFCError GetCert( SInt32 certType , SInt32 index , xOpt * pCert )
証明書のリスト内でタイプの一致する証明書を検索します。
static
SFBCertBagSmp
NewInstance( SFCErrorPtr exception = null )
SFBCertBag インスタンスを生成します。
static
SFBCertBagSmp
NewInstance( AEECLSID id , SFCErrorPtr exception = null )
SFBCertBag インスタンスを生成します。
SFCError RemoveCert( SInt32 certType , SInt32 index )
証明書をバッグから削除します。
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 インスタンスを使用して生成します。

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

参照

BREW API ICertBag_AddCert | BREW API ICertBag_AddOpt


SFBCertBag::AddCertBag
1 つの証明書バッグを別の証明書バッグに追加し、ネスティングした証明書バッグを作成します。
[ public ]
SFCError AddCertBag(
    SFBCertBagSmpConstRef newBag   // 追加するバッグ
);

戻り値

  • AEE_SUCCESS: オプションが正常に追加された場合。
  • AEE_EFAILED: 指定された xOpt が見つからなかった場合。
  • AEE_EBADPARM: pItem が NULL の場合。
  • AEE_EREADONLY: piBag が読み取り専用の場合。

解説

これは、オプション ID XOPT_DEFAULTS を指定した IxOpt_AddOpt と全く同じです。 追加するバッグ pINewBag は AddRef されます。

参照

BREW API ICERTBAG_AddBag


SFBCertBag::GetCert
証明書のリスト内でタイプの一致する証明書を検索します。
[ public ]
SFCError GetCert(
    SInt32 certType   // バッグ内で見つける証明書/オプションの ID
    SInt32 index      // (同じ ID の複数の xOpts がある場合)、最後に AddOpt() されたオプションから nIndex 番目のものを取得する。これはゼロ基準
    xOpt * pCert      // 見つかった証明書の読み込み場所
);

戻り値

  • AEE_SUCCESS: オプションが正常に追加された場合。
  • AEE_EFAILED: 指定された xOpt が見つからなかった場合。
  • AEE_EBADPARM: pItem が NULL の場合。

参照

BREW API ICertBag_GetCert


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

SFBCertBag::RemoveCert
証明書をバッグから削除します。
[ public ]
SFCError RemoveCert(
    SInt32 certType   // オプションリスト内で検索するオプションの ID。XOPT_ANY は、nIndex 番目のオプションを返す(ある場合)
    SInt32 index      // 同じ ID の複数の xOpts がある場合)、最後に AddOpt() されたオプションから nIndex 番目のものを取得する。これはゼロ基準
);

戻り値

  • AEE_SUCCESS: オプションが正常に追加された場合。
  • AEE_EFAILED: 指定された xOpt が見つからなかった場合。
  • AEE_EBADPARM: pItem が NULL の場合。
  • AEE_EREADONLY: piBag が読み取り専用の場合。

解説

これは IXOPTS_RemoveOpt と全く同じです。

参照

BREW API ICertBag_RemoveCert