問題タブ [javacard]
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.
java - Java Cardはバイオメトリクス(特に指紋認証)をサポートしていますか?
タスクは、バイオメントリック(指紋)ベースのセキュリティを備えたJava Cardアプリケーション(アプレット)を実装することです。Java Card仕様v2.2.2以降、APIには、javacardx.biometry
などのインターフェイスを備えた特別なパッケージが含まれBioTemplate
ているBioBuilder
ことがわかりますが、実装は表示されません。
- これは、指紋認証アプレットを実装するために、追加の商用SDK(Griaule BiometricsまたはMegaMatcherなど)を購入する必要があることを意味しますか?標準のJavacardAPIで提供されている機能で十分かどうかを確認したいと思います(何かを見逃しただけかもしれません)。
- 「サードパーティ」のSDKが必要な場合は、使用した経験を推奨または共有できますか。
applet - starsign smartcard : 無効な長さ 6c XX エラー
G & D starsign スマート カードの Java カード アプレットにアクセスするためのデスクトップ アプリケーションを開発しています。
無効な Le "6C XX" エラーを取得する APDU が送信されるたびに、APDU コマンドに "XX" (Le) を追加して再送信することが解決策であることがわかりました。 APDU。
javacard - SIMcardアプレットの開発-ハードウェアの推奨事項
JavaCard 2.2.xアプレットを開発したいのですが、開発者のSIMカードにロードします。また、UbuntuのPCSC-Liteを介してSIMカードに接続する必要があります(SEEK-FOR-ANDROIDのため)。
ただし、どのハードウェアを購入すればよいかわかりません... Ebayなどから(安価な)PC / SCスマートカードリーダーをいくつか購入しましたが、GemaltoCardManagerやその他のソフトロード用に認識されていませんSIMへのアプレット。
「本物の」開発キットを試す余裕はありません。それらは私にとって非常に高価だからです(...学生)。それらのいずれかを購入する前に確認する必要があります。だから私の質問は...
どのJavaCardDevキット(リーダー+開発SIMカード)を購入する必要があるかについて、いくつかの推奨事項を教えてください。ACR38DevKitはGemaltoDevSuiteとうまく連携しますが、キットにはDEV SIMカードが含まれていません(少なくとも、仕様には記載されていません)。
ありがとう!!
javacard - kona 25 javacard の pkcs11 サポート
Tag システムのKona25 javacardをいくつか持っていて、それらをメールの暗号化と署名に使用したいと考えています (たとえば、thunderbird で)。
Google で検索したところ、カードに PKCS11 モジュールが必要であることがわかりました。さらに検索すると、Charismathics CSSIが kona25 カード用の pkcs11 モジュールを提供していることがわかりましたが、オープン ソースまたは無料のソリューションを探しています。誰かオファーがありますか?
OpenSC は kona25 カードをサポートしていません!
android - 楕円曲線暗号化に使用するNFC互換タグ
楕円曲線アルゴリズムを使用してデータを暗号化/署名するためにNFCタグを使用する必要があるAndroidプロジェクトがあります。
外部で生成したキーペアを使用して暗号化自体を実行できるようにするには、タグが必要です。秘密鍵がタグに保存され、署名を実行するためにAndroidに転送されないことが重要です。
また、すべてのタグを書き込み保護して、自分が署名した場合にのみデータを書き込むことができるようにする必要があります。
タグのフォームファクターは円形で、できるだけ小さくしたいと思います。
これまでの調査では、Java Cardを使用する必要があるように見えますが、これについてはよくわかりません。
誰かが私が使用できる適切なデバイスを確認できますか?
encryption - 暗号化データGlobalPlatform
CMACなしのAPDU(CLAバイト= 0x80
)をアプレットに送信しています。SCP02i55を使用しています。関数でデータを暗号化する必要がありSecureChannel.encryptData()
ます。手動で暗号化したくないので、Global Platformがデータを暗号化する必要があり、正しいセッションキーで復号化した後(データは適切に計算されていると確信しています)。
次のコードを使用してAPDUバッファーを暗号化しています。
これにより、セキュリティステータスが満たされない例外(0x6982
)がスローされ、暗号化された20の応答APDUが期待されていました。
私は何を間違えますか?
javacard - -useproxyclass コンバーター オプション関連
-useproxyclass オプションは JCDK 3.0.1 以降で何をしますか? これに関連するいくつかのリンク、資料を共有していただけますか。
私がこれを尋ねている理由は、私のアプレットがグローバル プラットフォーム ライブラリへの参照を持っている場合、コンバーターが次のエラーで失敗するからです。
エラー: Java コンパイラ (javac) が見つかりませんでした。Java JRE (SDK ではない) がインストールされていますか? com.sun.javacard.converter.ConverterException
しかし、この-useproxyclassオプションをコンバーターに渡すと、エラーは表示されません。
c# - グローバルプラットフォームのオフカードリポジトリにキーを設定するにはどうすればよいですか?
グローバルプラットフォームのオンカード部分とオフカード部分の間に安全なチャネルを設定するためのサポートが必要です。私が自分自身を不明確にした場合、例が私の問題の理解を単純化することを願っています。
例:
JCOPシェルを使用する場合は、次のように、set-key
前にコマンドを入力する必要があります。ext-auth
cm> set-key 255/1 / DES-ECB / 404142434445464748494a4b4c4d4e4f
cm> set-key 255/2 / DES-ECB / 404142434445464748494a4b4c4d4e4f
cm> set-key 255/3 / DES-ECB / 404142434445464748494a4b4c4d4e4f cm >
init
ext-auth
ここで、c#から同じこと(set-key)を実行する必要があります。ただし、JCOPシェルでset-keyコマンドの背後で何が起こっているのかがわからなかったため、c#からset-keyを実行する方法がわかりません。
applet - Javacard 共有可能インターフェイス: lookupAID は AID を返しますが、getAppletShareableInterface は null を返します
編集2:間違いを見つけました。コンストラクターで Shareable オブジェクトを初期化しようとしました。その時点では、クライアントの登録メソッドはまだ呼び出されていないため、JCRE にはその AID がありません。私のサーバーの getShareableInterfaceObject(AID clientaid, byte parameter) メソッドは、クライアントの AID を != null にする必要はありませんが、JCRE はクライアントに対してこのメソッドを呼び出すため、おそらく必要です。最初の APDU を処理するときに Shareable オブジェクトを初期化すると、それが機能するようになりました。
ところで、私の投稿の書式設定を手伝ってくれた owlstead に感謝します。間違いなく読みやすくなりました!
私は Java Card 開発に不慣れで、Shareable
インターフェースを機能させることができません。
クライアント アプレットが使用したい関数を宣言するインターフェイス クラスがあります。私のサーバー アプレットはこのクラスを実装しています。私のクライアント アプレットは AID を検索し、 を呼び出してインターフェイスを取得しようとしますgetAppletShareableInterface()
。しかし、これは常に を返しますnull
。
私のサーバー アプレットgetShareableInterface()
は だけreturn this;
で構成されているため、問題は別の場所にあると思います。しかし、どこにあるのかわかりません。
JCWDE を使用してコードをステップ実行していると、サーバー アプレットの呼び出しが登録されているので、クライアント アプレットがそれを見つけることができるはずです。何がうまくいかないのか、誰かが私にいくつかの指針を教えてもらえますか?
編集:
lookupAID は正しい AID を返しますが、サーバー アプレットが存在しないかのように getAppletShareableInterfaceObject は null を返します。
implicit - GlobalPlatform 開始モードの暗黙的
Javacard で globalplatform scp01 と scp02 のさまざまな実装をプログラミングしていますが、問題が見つかりました。
モードでの安全なチャネル開始のメカニズムがどのように暗黙的であるかを誰かが説明できますか?
仕様では、明示的な方法が完全に記述されていることがわかりました (214 ページ、E.1.2.1 の明示的なセキュア チャネルの開始、素晴らしいグラフィックを使用) が、暗黙的な形式は非常に簡潔です...
正しく行うために従わなければならない手順は何ですか??
ありがとう