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

継承図

SFBCertParse クラスの継承図

バージョン

BREW 2.0 BREW 2.1 BREW 3.1 BREW 4.0
× × ×

参照

BREW API ICertParse

メンバ

パブリック関数
Void Find( SFBxOptsSmpConstRef opts , CertDataIssuerAndSerial const * IssuerAndSerial , SInt32Ptr certXOpt , SInt32Ptr certIndex )
証明書のコレクションを、対象、発行者、シリアル番号などで検索します。
SFCError GetBasic( CertDataBasic * basic )
証明書内の基本的な小フィールドを取得します。
SFCError GetField( SInt32 id , UInt08ConstHandle field , SInt32Ptr len )
X.509 証明書からフィールドを取得します。
SFCError GetFieldPart( CertDataPartRequest const * req , CertDataCertPart * part )
対象または発行者 DN から、個別の X.509 v3 拡張またはパーツを取得します。
SFCError GetPubKeyParameters( SFBParametersPtr param )
証明書から公開鍵を取得します。
SFCError GetStruct( SInt32 id , VoidPtr pStruct , SInt32 size )
解析済みの証明書から構造体またはデータ BLOB を取得します。
SFCError GetStruct( SInt32 id , SFXBufferPtr buf )
解析済みの証明書から構造体またはデータ BLOB を取得します。
static
SFBCertParseSmp
NewInstance( SFCErrorPtr exception = null )
SFBCertParse インスタンスを生成します。
static
SFBCertParseSmp
NewInstance( AEECLSID id , SFCErrorPtr exception = null )
SFBCertParse インスタンスを生成します。
Void SetASN1OIDMap( ASN1OIDMap const * map )
OID から ASN1OID への追加マッピングを追加します。
SFCError SetCert( UInt08ConstPtr certificate , SInt32 len )
解析する証明書を設定します。
SFCError SetCertByOpt( SFBxOptsSmpConstRef opts , SInt32 id , SInt32 index )
証明書を設定するための代替関数。
SFCError SetParam( SInt32 id , VoidConstPtr data , UInt32 length ) (SFBParameters から継承)
このメソッドはパラメータ値を設定します。
SFCError SetParam( SInt32 id , SFXBufferConstRef data ) (SFBParameters から継承)
このメソッドはパラメータ値を設定します。
SFCError SetParam( SInt32 id , SFXAnsiStringConstRef data ) (SFBParameters から継承)
このメソッドはパラメータ値を設定します。

SFBCertParse::Find
証明書のコレクションを、対象、発行者、シリアル番号などで検索します。
[ public ]
Void Find(
    SFBxOptsSmpConstRef opts                          // 検索するオプション、または null
    CertDataIssuerAndSerial const * IssuerAndSerial   // 検索する発行者またはシリアル番号
    SInt32Ptr certXOpt                                // 見つかった証明書の xOpt タイプ (証明書タイプ)
    SInt32Ptr certIndex                               // 見つかった証明書のインデックス
);

戻り値

  • AEE_SUCCESS: 証明書が見つかった。
  • AEE_EFAILED: 証明書が見つからなかった。
  • EBADPARAM: いずれかのパラメータが null。

解説

返される xOpt タイプとインデックスは、オプション (証明書) がコレクションに追加される、またはコレクションから削除されるまでのみ有効です。

検索は発行者またはシリアル番号、あるいはその両方で行えます。発行者またはシリアル番号で検索しない場合は、それらを指すポインタを pstIssuerAndSerial で NULL に指定します。

検索されるオプションには、XOPT_DEFAULTS に追加されているすべてのサブ IxOpts オブジェクトが含まれます。先ず、タイプ/ID が CERTDATAOPT_ROOT_CERTS のオプションが検索され、次に CERTDATAOPT_BRANCH_CERTS、そして最後に CERTDATAOPT_LEAF_CERT が検索されます。

検索に成功すると、見つかった証明書が解析の対象として設定されます。これは、 ICertParse_SetCert() または ICERTPARSE_SetCertXOpt() で設定された証明書を上書きします。

参照

BREW API ICertParse_Find


SFBCertParse::GetBasic
証明書内の基本的な小フィールドを取得します。
[ public ]
SFCError GetBasic(
    CertDataBasic * basic   // 取得したフィールドの格納場所。ストレージはコール側が供給する
);

戻り値

  • AEE_SUCCESS: 証明書に関する基本的な詳細が取り出された。
  • AEE_EFAILED: 証明書が設定されていない。
  • AEESEC_X509_BAD_CERT: 証明書が NULL であった、または解析できない。
  • CERTDATA_BAD_FORMAT: 証明書の解析中に何か問題が生じた。
  • CERTDATA_BAD_DATE: 有効日が不正。
これは、証明書で最初に遭遇したエラーだけに対して返される。同じ証明書内に複数の問題がある場合もある。

解説

日付内の年の処理は RFC 2549/3280 に準拠しています。 GeneralizedTime 内の 4 桁の年が処理されます。 UTCTime 内の 2 桁の年は、50 未満の場合は 2000 年以降、50 以上の場合は 1950 年から 1999 年までとみなされます。

参照

BREW API ICertParse_GetBasic


SFBCertParse::GetField
X.509 証明書からフィールドを取得します。
[ public ]
SFCError GetField(
    SInt32 id                 // ID
    UInt08ConstHandle field   // フィールドへのポインタの格納場所
    SInt32Ptr len             // フィールドの長さの格納場所
);

戻り値

  • AEE_SUCCESS: 証明書フィールドが正常に返された。
  • AEE_EFAILED: 証明書が設定されていない。
  • AEESEC_X509_BAD_CERT: 証明書が null であった、または解析できない。
  • EBADPARAM: 存在しないフィールドが要求された。

解説

証明書内のほとんどのフィールドを取り出すことができます。ほとんどの場合、パーツは解析されません。たとえば、日付、対象、または鍵の ASN.1 DER エンコードは、解析されずに返されます。シリアル番号は解析され、実際のシリアル番号だけが返されます。

参照

BREW API ICertParse_GetField | SFBCertParse::GetFieldPart


SFBCertParse::GetFieldPart
対象または発行者 DN から、個別の X.509 v3 拡張またはパーツを取得します。
[ public ]
SFCError GetFieldPart(
    CertDataPartRequest const * req   // 要求の記述
    CertDataCertPart * part           // 応答によって読み込まれる
);

戻り値

  • AEE_SUCCESS: フィールドパーツが返された。
  • AEE_EFAILED: 証明書が設定されていない。
  • AEESEC_X509_BAD_CERT: 証明書が NULL であった、または解析できない。
  • AEE_EBADPARM: 不明なフィールドが要求された。
  • AEESEC_X509_NO_PART: 要求された OID のインスタンスが見つからなかった。

解説

証明書の拡張と対象および発行者パーツは、意味情報としては関連していませんが、構造的に十分に類似しているため、この同じ関数を使用してこれらを取得します。

参照

BREW API ICertParse_GetField | SFBCertParse::GetField


SFBCertParse::GetPubKeyParameters
証明書から公開鍵を取得します。
[ public ]
SFCError GetPubKeyParameters(
    SFBParametersPtr param   // 公開鍵パラメータの格納場所
);

戻り値

  • AEE_SUCCESS: 公開鍵が返された。
  • AEE_EFAILED: 証明書が設定されていない。
  • AEESEC_X509_BAD_CERT: 証明書が不正に解析された。
  • AEESEC_X509_BAD_KEY: 鍵を解析できない。
  • AEESEC_X509_UNKNOWN_KEY: 鍵の形式が不明。
  • AEE_EBADPARM: piPubKeyParms として NULL が渡された場合。

参照

BREW API ICertParse_GetPubKeyParameters


SFBCertParse::GetStruct
解析済みの証明書から構造体またはデータ BLOB を取得します。
[ public ]
SFCError GetStruct(
    SInt32 id         // 取り出す構造体を識別する
    VoidPtr pStruct   // 構造体のコピー先メモリーへのポインタ
    SInt32 size       // pStruct が指すメモリーブロックのサイズ
);
[ public ]
SFCError GetStruct(
    SInt32 id          // 取り出す構造体を識別する
    SFXBufferPtr buf   // 構造体のコピー先メモリーへのポインタ
);

戻り値

  • AEE_SUCCESS: 証明書に関する基本的な詳細が取り出された。
  • AEE_EFAILED: 証明書が設定されていない。
  • AEESEC_X509_BAD_CERT: 証明書が NULL であった、または解析できない。
  • AEESEC_X509_BAD_VALIDITY: 有効日が不正。
  • AEE_ENOMEMORY: メモリー不足。
  • AEE_EBADPARM: nStructID が不明な構造体を指している。nStructSize が小さ過ぎる。おそらく、要求されたハッシュがサポートされていない。
  • AEE_ECLASSNOTSUPPORT: 要求されたハッシュが使用可能でない。
これは、証明書で最初に遭遇したエラーだけに対して返される。同じ証明書内に複数の問題がある場合もある。

解説

証明書についてのデータを、コール側が提供したバッファまたは構造体にデータをコピーすることによって返します。パラメータ nStructID がコピーされたデータを識別します。 これは、内部的に格納された証明書へのポインタを返すためにより複雑で寿命が短い SFBCertParse::GetField とは対照的です。

参照

BREW API ICertParse_GetStruct


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

SFBCertParse::SetASN1OIDMap
OID から ASN1OID への追加マッピングを追加します。
[ public ]
Void SetASN1OIDMap(
    ASN1OIDMap const * map   // マップ
);

解説

この関数は ICertParse のこのインスタンス用にマップに追加します。

参照

BREW API ICertParse_SetASN1OIDMap


SFBCertParse::SetCert
解析する証明書を設定します。
[ public ]
SFCError SetCert(
    UInt08ConstPtr certificate   // DER エンコードされた X.509 証明書へのポインタ
    SInt32 len                   // certificate が指すバッファの長さ
);

戻り値

  • AEE_SUCCESS: 証明書が正常に設定された。
  • AEE_EFAILED: pCert が NULL、または nCertLen が空。
  • AEESEC_X509_BAD_CERT: 証明書の解析中にエラー。

解説

解析する証明書を設定します。

参照

BREW API ICertParse_SetCert


SFBCertParse::SetCertByOpt
証明書を設定するための代替関数。
[ public ]
SFCError SetCertByOpt(
    SFBxOptsSmpConstRef opts   // 証明書を検索する SFBxOpts インタフェースのオブジェクト
    SInt32 id                  // 検索するオプション ID (通常は証明書タイプ)
    SInt32 index               // 解析用に設定する証明書のインデックスまたはインスタンス
);

戻り値

  • AEE_SUCCESS: 証明書が正常に設定された。
  • AEE_EFAILED: nOptID と nIndex が piCerts 内に見つからなかった。
  • AEESEC_X509_BAD_CERT: 証明書の解析中にエラー。

解説

解析する証明書を設定します。

参照

BREW API ICERTPARSE_SetCertXOpt