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

継承図

SFBCipherFactory クラスの継承図

バージョン

BREW 2.0 BREW 2.1 BREW 3.1 BREW 4.0
× × ×

参照

BREW API ICipherFactory

メンバ

パブリック関数
SFCError CreateCipher( AEECLSID clsid , SInt32 direction , AEECLSID mode , SInt32 padding , SFBCipher1SmpPtr cipher )
指定された特性を持つ暗号化方式を作成します。
SFCError CreateCipher2( CipherInfo * info , UInt32 size , SFBCipher1SmpPtr cipher )
CipherInfo 構造体で指定された特性を持つ暗号化方式を作成します。
static
SFBCipherFactorySmp
NewInstance( AEECLSID id , SFCErrorPtr exception = null )
SFBCipherFactory インスタンスを生成します。
SFCError QueryCipher( AEECLSID cipher , AEECLSID mode , SInt32 padding , SInt32 keysize )
Factory をチェックして、指定された特長を持つ暗号化方式を作成できるかどうかを決定します。
SFCError QueryInterface( AEECLSID clsid , VoidHandle handle ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
SFCError QueryInterface( AEECLSID clsid , SFBBaseSmpPtr handle ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
SFBBaseSmp QueryInterface( AEECLSID clsid ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
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 インスタンスを使用して生成します。

SFBCipherFactory::CreateCipher
指定された特性を持つ暗号化方式を作成します。
[ public ]
SFCError CreateCipher(
    AEECLSID clsid            // 要求した暗号化方式アルゴリズムの ClassID
    SInt32 direction          // 暗号化の方向。CIPHER_DIRECTION_XXX を参照
    AEECLSID mode             // 要求したブロックチェーンモードアルゴリズムの ClassID
    SInt32 padding            // ブロック暗号化方式に使用するパディングのタイプ
    SFBCipher1SmpPtr cipher   // 返された SFBCipher1 ハンドルへのポインタ
);

戻り値

  • SUCCESS: クラスが作成された。
  • ENOMEMORY: メモリー不足。
  • ECLASSNOTSUPPORT: 指定したクラスがサポートされていない。

参照

BREW API ICIPHERFACTORY_CreateCipher


SFBCipherFactory::CreateCipher2
CipherInfo 構造体で指定された特性を持つ暗号化方式を作成します。
[ public ]
SFCError CreateCipher2(
    CipherInfo * info         // 作成する暗号化方式のタイプについての情報を指すポインタ
    UInt32 size               // info が指す構造体のサイズ
    SFBCipher1SmpPtr cipher   // 返された SFBCipher1 ハンドルへのポインタ
);

戻り値

  • SUCCESS: クラスが作成された。
  • ENOMEMORY: メモリー不足。
  • ECLASSNOTSUPPORT: 指定したクラスがサポートされていない。
  • EBADPARM: CipherInfo のパラメータまたはフィールドが無効。
  • AEE_CRYPT_INVALID_KEY: 鍵の長さが不正、または鍵が無効。

解説

CipherInfo のすべてのフィールドが、すべての暗号化方式に必要なわけではありません。CipherInfo フィールド cKey がゼロか、または pKey が NULL の場合、鍵は初期化されていません。CipherInfo フィールド cIV がゼロか、または pIV が NULL の場合、IV は初期化されていません。

参照

BREW API ICIPHERFACTORY_CreateCipher2


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

SFBCipherFactory::QueryCipher
Factory をチェックして、指定された特長を持つ暗号化方式を作成できるかどうかを決定します。
[ public ]
SFCError QueryCipher(
    AEECLSID cipher   // 要求した暗号化方式アルゴリズムの ClassID
    AEECLSID mode     // 要求したブロックチェーンモードアルゴリズムの ClassID
    SInt32 padding    // ブロック暗号化方式に使用するパディングのタイプ
    SInt32 keysize    // 必要な鍵の長さ (バイト)
);

引数

cipher

要求した暗号化方式アルゴリズムの ClassID。

mode

要求したブロックチェーンモードアルゴリズムの ClassID。ストリーム暗号化方式の場合、このパラメータは無視されるため 0 に設定する。

padding

ブロック暗号化方式に使用するパディングのタイプ。ストリーム暗号化方式またはストリーミングブロックモードの場合、このパラメータは無視される。

keysize

必要な鍵の長さ (バイト)。特殊な鍵の長さが必要でないかぎり、この値を 0 にして、このチェックを省略できる。

戻り値

  • SUCCESS: 暗号化方式を作成できる場合。
  • ENOMEMORY: メモリー不足。
  • ECLASSNOTSUPPORT: 指定されたように暗号化方式がサポートされていない場合。これは、アルゴリズムが使用できない、特定のモードまたはパディングがサポートされていない、あるいは鍵の長さがサポートされないことを意味する。

参照

BREW API ICIPHERFACTORY_QueryCipher