ISCardISO7816::ExternalAuthenticate メソッド
[ ExternalAuthenticate メソッドは、[要件] セクションで指定したオペレーティング システムで使用できます。 Windows Server 2003 Service Pack 1 (SP1) 以降、Windows Vista、Windows Server 2008、および以降のバージョンのオペレーティング システムでは使用できません。 スマート カード モジュールも同様の機能を提供します。
ExternalAuthenticate メソッドは、セキュリティ状態を条件付きで更新するアプリケーション プロトコル データ ユニット (APDU) コマンドを構築し、スマート カードが信頼しない場合にコンピューターの ID を確認します。
コマンドは、カードによる計算の結果 (yes または no) を使用します (カードによって以前に発行されたチャレンジ (たとえば、INS_GET_CHALLENGE コマンドによって)、カードに格納されているキー (場合によってはシークレット)、およびインターフェイス デバイスによって送信される認証データに基づいています。
構文
HRESULT ExternalAuthenticate(
[in] BYTE byAlgorithmRef,
[in] BYTE bySecretRef,
[in] LPBYTEBUFFER pChallenge,
[in, out] LPSCARDCMD *ppCmd
);
パラメーター
-
byAlgorithmRef [in]
-
カード内のアルゴリズムの参照。
この値が 0 の場合、情報が指定されていないことを示します。 アルゴリズムの参照は、コマンドを発行する前にわかっているか、データ フィールドに指定されています。
-
bySecretRef [in]
-
シークレットの参照。
値 説明 - 情報なし
ビット位置: 000000000
情報は提供されません。 シークレットの参照は、コマンドを発行する前にわかっているか、データ フィールドに指定されています。- グローバル参照
ビット位置: 0-------
グローバル参照データ (MF 固有キー)。- 特定の参照
ビット位置: 1-------
特定の参照データ (DF 固有キー)。- Rfu
ビット位置: -xx-----
00 (他の値は RFU)。- シークレット
ビット位置: ---xxxxx
シークレットの番号。 -
pChallenge [in]
-
認証関連データへのポインター。 このパラメーターには NULL を指定できます。
-
ppCmd [in, out]
-
入力時に、 ISCardCmd インターフェイス オブジェクトまたは NULL へのポインター。
戻り時には、この操作によって作成された APDU コマンドが入力されます。 ppCmd が NULL に設定されている場合、スマート カードISCardCmd オブジェクトが内部的に作成され、ppCmd ポインターを使用して返されます。
戻り値
メソッドは、次のいずれかの値を返します。
リターン コード | 説明 |
---|---|
|
操作は正常に完了しました。 |
|
無効なパラメーターが渡されました。 |
|
不適切なポインターが渡されました。 |
|
メモリが不足しています。 |
解説
カプセル化されたコマンドを成功させるには、カードから取得した最後のチャレンジが有効である必要があります。
失敗した比較は、カードに記録できます (たとえば、参照データの使用をさらに試行する回数を制限するため)。
このインターフェイスによって提供されるすべてのメソッドの一覧については、「 ISCardISO7816」を参照してください。
上記の COM エラー コードに加えて、要求を完了するためにスマート カード関数が呼び出された場合、このインターフェイスはスマート カード エラー コードを返す場合があります。 詳細については、「 スマート カードの戻り値」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows XP [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows Server 2003 [デスクトップ アプリのみ] |
クライアント サポートの終了 |
Windows XP |
サーバー サポートの終了 |
Windows Server 2003 |
ヘッダー |
|
タイプ ライブラリ |
|
[DLL] |
|
IID |
IID_ISCardISO7816は 53B6AA68-3F56-11D0-916B-00AA00C18068 として定義されています |
関連項目