問題タブ [tlv]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
454 参照

android - 複数の AID を支払いアプリから端末に送信する方法は?

Android 決済アプリケーションから端末に複数の AID を送信したい。そうするために、選択コマンドの応答メッセージを作成する方法は?

端末から 00 A4 04 00 0E (14 バイト データ) 00 を取得しているとします。応答として、 6F23840E(14 バイト データ)A511BF0C0E610C4F07A00000000310108701019000 を送信しています。ここで、私の AID は A0000000031010 です。2 つの AID を連結しようとすると、端末はすぐにトランザクションをキャンセルします。連結の次の応答メッセージで試しました: 6F30840E325041592E5359532E4444463031A51EBF0C1B61194F07A00000000310108701024F08A0000000031010018701019000。

TLV パーサーを使用して TLV を確認しました。リンク: https://www.emvlab.org/tlvutils/?data=6F30840E325041592E5359532E44444463031A51EBF0C1B61194F07A00000000310108701024F08A0000000031010018701019000

複数の AID リストを端末に送信する方法を教えてください。

0 投票する
3 に答える
233 参照

asn.1 - ASN.1 はフィールド長を別の場所に置くことをサポートできますか?

オンザワイヤ形式が既に定義されているプロトコルがあり、ASN.1 を使用してエンコード/デコードしたいのですが、定義済みの BER/DER/PER オプションが壊れているようです。なんらかの理由で、プロトコル開発者はペイロードのサイズ/長さをペイロード自体の直前に配置しなかったため、自動 BER/DER を使用できませんしかし、ペイロードは可変長になる可能性があるため、PER も使用できません。次に例を示します。

だから多分ここに2つの質問があります:

  1. ASN.1エンコーディングの1つを使用して、特定のフィールドを後のフィールドの長さとして指定する方法はありますか-ビット9-20のようなものにはビット33-N * 32の長さが含まれていると言えますが、スキップしていますビット 21 ~ 32 には、他の無関係ながらくたが含まれている可能性がありますか?
  2. 上記をサポートするためにアルゴリズム/ルールを作成する方法を確認できます。したがって、現在 ASN.1 でこれを行う方法がない場合、新しいルールまたは拡張機能を作成する方法 (およびドキュメント) はありますか?既存のエンコーディングへのある種の?

編集

前の質問を繰り返さずに、ASN.1 を持ち出している理由を明確にするのは、それが私が探しているものとほぼ同じだからです。既存のバイナリ プロトコルをデシリアライズする必要がありますが、これを行うことができると主張するツールが既に多くあるため、独自のプロトコルを作成したくありません。誰かが別の提案を持っているなら、私は喜んでそれを試してみたい.