Linux サーバーで実行されている PHP アプリケーションで、PKCS#11 準拠の HSM (SafeNet iKey 2032 [USB] や Aladdin eToken PRO [USB] など) からキー マテリアルを使用するにはどうすればよいですか?
4 に答える
PHP用のPCKS#11接着剤ライブラリは見たことがなく、大まかな検索も見つかりませんでした。おそらくあなたが探している答えではありません。(:私よりも検索fuが優れている場合は、このスレッドを更新してください。
最善の策は、PKCS#11を呼び出してHSMにアクセスするCプログラムを作成し、それをPHPアプリから外部バイナリとして呼び出すことだと思います。PHP用にPKCS#11ラッパーが登場した場合でも、このアプローチにより、ラッパーの作成者が独自の要件を満たすために必要なものを何でも処理する必要がなく、Cコードで利用可能な完全なAPIが提供されます。PKCS#11は大規模なAPIであり、ラッパーの実装は完全ではないことがよくあります。
OpenSC プロジェクトのpkcs11-helperを確認する必要があります。PHP から直接 PKCS#11 モジュールにアクセスしようとすると、難しい方法になります。
トークンを使用して署名を生成するユーザーについて質問していると思います。署名はクライアント側、つまりブラウザで生成されます。あなたのソリューションが linux/php 上にあるという事実は問題ではありません。
証明書を読み取って署名を生成する、署名者と呼ばれるソフトウェア コンポーネントを追加する必要があります。
既存のオープン ソースの署名者は Java で書かれています。その理由は、Java アプレットがまだ最も利用可能なクライアント側のテクノロジであるためです。