クマは森で用を足しますか?

アウトプットは重要です。

Global Platform

eSIM が無ければ Pixel 4 を潰せばいいじゃない

リムーバブルな eSIM が手に入らない eSIM にコマンドを送りたくなること、ありますよね。4FF/nano カードタイプのいわゆるリムーバブルな eSIM を入手し、PC/SC インターフェースを通して ES10x のコマンドを送ることができればと考えたんですけど、そもそ…

Android Secure Element CTSの実行用ARA-Mできました

Android Secure Element CTSの実行に必要なアクセスルールを返すARA-M、とりあえず完成です。インストール後にルールの追加や変更を動的に実行できるようには作っていませんが、それはまた他にやることがないときにでも。github.com アクセスルールの選択ル…

GET DATA [Refresh tag]の追加

前回の変更で、現在製造中のARA-MがGET DATA [All]コマンドとGET DATA [Next]コマンドをサポートしました。cheerio-the-bear.hatenablog.com GET DATAコマンドとしてはもうひとつ、GET DATA [Refresh Tag]コマンドにも対応させます。 GET DATA [Refresh Tag]…

GET DATA [All]とGET DATA [Next]の実装

ARA-Mがアクセスルールをターミナルに提供できるようにするために、GET DATAコマンドをサポートします。コマンド仕様の詳細については、Global PlatformのSecure Element Access Control仕様書4.1章を。github.com GET DATA [All]コマンド GET DATA [All]コ…

ではARA-Mを作り始める準備を

前回までは、Android Secure Element CTSの実施時に必要なJava Cardアプレットを作成していました。cheerio-the-bear.hatenablog.comアクセスコントロール系のテストケースには、そのアプレットだけでは全然足りません。ということで、テストが期待するアク…

OMAPI/ACテスト用アプレットはこれで完成(のつもり)

自作のJava Cardアプレットをインストール可能な珍しいSIMカード、OSMOCOMコミュニティーのsysmoUSIM-SJS1 4FFを使ってAndroid Secure Element CTS仕様のアプレットを作る件、今回の変更でひとまず完成ということで良いのではないかと思います。テスト仕様に…

論理チャネルを開くときにP2値を割愛するケース

Android Secure Element CTSページのOpen Mobile API関連の記述について言えば、これまでの対応でカバーできていないのは、おそらく下記の件のみではないでしょうか。 a. 0xA000000476416E64726F696443545331 ... vi. The applet should return success stat…

各種警告系ステータスワードの返却

ターミナルとカードの間で行われるAPDUコマンドのやり取りには、当然ながらカードOSが介在します。ふと見つけてドイツから個人輸入したsysmoUSIM-SJS1 4FFですが、カードOSの制限事項のようなもの、例えばカードOSが通過を許してくれないクラスバイトやイン…

Case 2コマンドやCase 4コマンドへの長いデータの応答

Android Secure Element CTSに使えるSIMカードをsysmoUSIM-SJS1 4FFで作ってみる件、次はOmapiTest.testSegmentedResponseTransmit()です。 testSegmentedResponseTransmit()が期待する動作 テストコードによると、セキュアエレメントから返ってくるデータの…

突然のSW 6F00はメモリリークによるものなのか?

Android Secure Element CTS仕様に沿ってJava Cardアプレットを作成中ですが、ある日突然アプレットを選択することができなくなりました。最初に作ったアプレットAID 'A000000476416E64726F696443545331'に対するSELECTコマンドに、SW 6F00が返ってきてしま…

OmapiTest.testLongSelectResponse()のサポート

OSMOCOM (Open Source Mobile Communications) コミュニティのSIMカードsysmoUSIM-SJS1 4FF上で動くAndroid Secure Element CTS用Java Cardアプレットを作成するこのシリーズ、前回までにOmapiTest.testTransmitApdu()の対応を終え、今回はOmapiTest.testLon…

OmapiTest.testTransmitApdu()が期待するSIMカードの振る舞い(2)

前回は、Android Secure Element CTSのOmapiTest.testTransmitApdu()を、Pythonスクリプトで再現するところまで。今回は、それに対応するJava Cardアプレット側の実装を行います。cheerio-the-bear.hatenablog.com その前に「インストール」できないことに気…

OmapiTest.testTransmitApdu()が期待するSIMカードの振る舞い(1)

sysmoUSIM-SJS1 4FFを、Android Secure Element CTSの要求仕様に沿ったSIMカードへと仕立て上げることができますかどうか。ビルド済みオブジェクトとして提供されているgoogle-cardlet.capを、そのまま単純にロードすることはできませんでした。では、順番に…

google-cardlet.capはロードできるのか

SIMツールキット用のアプレットのロードおよびインストールができることはわかりましたが、その他のJava Cardアプレットでも同様の操作が行えることを確認してゆこうと思います。あまりまとまった時間を確保してやってはいないので、さて何日かかることやら…

GET STATUSコマンドで確認してみましょう

SIMツールキット用サンプルアプレットのビルド、sysmoUSIM-SJS1 4FFへのロードおよびインストールを実行することができました。次は、インストールされたアプレットの存在について、GET STATUSコマンドを使ってあらためて確認してみましょう。cheerio-the-be…

デフォルトのGPキーではないんですか?

Java Cardアプレットを実行できそうなテストカードを調達できましたので、当面のところはいろいろと試してみる作業が続くことになると思います。cheerio-the-bear.hatenablog.com アプレットのリスト表示を試みる GlobalPlatformProの list (-l) オプション…

Java Cardアプレットを実行できるSIMカードはありますか?

GP鍵付きのSIMカードがない ネットで検索してみたものの、所望のカードがなかなか見つかりません。これを書いている今でも、まだ見つかっていません。所望のカードの条件はと言うと、下記の二点だけです。 Java Cardのアプレットをロード・インストールでき…