Android プラットフォームでの PKCS#11 暗号化トークン メカニズムの使用

Android プラットフォームでの PKCS#11 暗号化トークン メカニズムの使用 暗号を使用する時代が来た PKCS#1 メカニズム1 および Android プラットフォーム上で動作します。 Android 用のハードウェア トークンは存在しないと言う人もいるかもしれません。 しかし、もしそうだとしても、これは一時的な現象にすぎません。 しかし現在では、ソフトウェア トークンを入れたり、使用したりできるようになりました。 クラウドトークン。 ユーティリティ以来 cryptoarmpkcs-A Tcl/Tk スクリプト言語の Androwish を使用して Android プラットフォーム用に開発され、そのパッケージはトークンの接続に使用されます TclPKCS11 バージョン 1.0.1.

この場合、パッケージの処理は必要ありません。 行われたのは、プロジェクトにスクリプトを追加して、次の言語で書かれたパッケージ ライブラリを構築することだけでした。 自分自身、Android およびライブラリ配布自体の場合。 ソフトウェア ls11sw2016 のライブラリと、さまざまなプラットフォーム用のクラウド ls11cloud トークンを同じプロジェクトに追加することが決定されました。

他はすべてシンプルです。 作業トークンを選択するためのボタンを XNUMX 番目のウィンドウに追加し、次を取得します。

  • ソフトウェアトークン ls11sw2016;
  • クラウドトークン ls11cloud;
  • 別の PKCS11#11 トークン。

Android プラットフォームでの PKCS#11 暗号化トークン メカニズムの使用

デフォルトでは、ソフトウェア トークンが接続されています。 以前に作成されていない場合は、初期化するように求められます。 思い出してもらいましょう トークンの初期化 タグの割り当てとユーザー PIN コードの設定で構成されます。

Android プラットフォームでの PKCS#11 暗号化トークン メカニズムの使用

ソフトウェア トークンは、PKCS#11 v.2.40 および TK-26 の推奨に従って開発されたことに注意してください。 サポートされている暗号化メカニズムを含む、トークンに関する完全な情報を取得するには、メイン メニュー (「機能」) の「トークンとその暗号化について」ボタンをクリックするだけです。 現在、ロシアの暗号化をサポートするハードウェア トークンには、この機能が備わっていません。

Android プラットフォームでの PKCS#11 暗号化トークン メカニズムの使用

- トークンに個人証明書をインストールする方法。 選択肢は 12 つあります。 最初のオプションは、PKCS#12 コンテナー ([PKCSXNUMX/PFX の作業] ボタン) を介して証明書自体とそのキー ペアをインポートすることです。

Android プラットフォームでの PKCS#11 暗号化トークン メカニズムの使用

10 番目のオプションでは、証明書のリクエスト (PKCS#XNUMX) を作成します。このオプション (関数) 「証明書リクエスト」) トークン上でキー ペアを直接生成できます。

Android プラットフォームでの PKCS#11 暗号化トークン メカニズムの使用

これで、リクエストをフラッシュ ドライブに保存して、次の場所に移動できるようになります。 認証センター 証明書用に。 証明書をテスト目的または内部で使用する場合は、ユーティリティを使用して証明書を発行することもできます。 CAFL63。 結果の証明書は、「リクエスト/証明書の表示」タブのトークンにインポートされます。

Android プラットフォームでの PKCS#11 暗号化トークン メカニズムの使用

タブを使用して、トークンに保存されている証明書を使用してドキュメントに署名できるようになりました。 「書類に署名してください」.

次の記事では、クラウド トークンに接続する方法について説明します。 そして、証明書生成機能をモバイル プラットフォームに移管するという問題は未解決のままです。 これは必要ですか?

Android プラットフォーム用の cryptoarmpkcs-A ユーティリティの更新バージョンは、ここからダウンロードできます。

PS ログの保存

パッケージをビルドするには、次のボーン ユーティリティを使用します。 AndroWish SDK。 パッケージが正常にビルドされると、「インストールと実行」ボタンが表示され、クリックするとログ ウィンドウが開き、adb logcat (Android Debug Bridge ロガー) の出力が表示されます。 この画面の欠点は、特に「V」(冗長) フラグが有効になっている場合、エラー メッセージを見つけるのが難しいことです。 したがって、「保存」ボタンが追加され、ファイル /tmp/logBone.txt にログが保存されます (Linux について話しています)。

Android プラットフォームでの PKCS#11 暗号化トークン メカニズムの使用

このボタンの登場により、アプリケーションのデバッグプロセスが大幅に簡素化されました。

ボタンを追加するには、次のコードをボーン ファイルの 2591 行以降に追加します。

	    ttk::button $l.frame.clear -text "Clear" -width 6 
		-command [list adb_logcat_clear $l.text]
#Добавленный код
	    ttk::button $l.frame.save -text "Save" -width 6 
		-command [list adb_logcat_save $l.text]

	    ttk::button $l.frame.run -text "Run" -width 6 
		-command [list adb_logcat_run $l]

adb_logcat_save 保存コマンドは次のようになります。

proc adb_logcat_save {text} {
    set tt [$text get 1.0 end]
    set file "/tmp/logBone.txt"
    file delete -force $file
  #Собственно запись в файл
    set fd [open $file w]
    chan configure $fd -translation binary
    puts -nonewline $fd $tt
    close $fd
}

出所: habr.com

コメントを追加します