問題タブ [nshield]
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.
c# - MSCAPI で ncipher CSP を使用して AES 暗号化を行う
MCSAPI を使用して、ncipher 暗号化サービス プロバイダー (CSP) で AES 暗号化を行う方法を見つけようとしています。私を困惑させているのは、nCipher を csp として指定するために使用されるクラスAesCryptoServiceProvider
をコンストラクターが受け入れないことです。CspParameters
私が見る限り、Rijndael クラスには、他のサードパーティの CSP を指定する方法もありません。私は何が欠けていますか?システム全体を初期化して、後続のすべての暗号化呼び出しのために CSP をロードする方法はありますか? CSP を使用して対称キーを管理し、デフォルトAesCryptoServiceProvider
を使用して暗号化/復号化していると思いますか? RSACryptoServiceProvider(CspParameters)
うまく動作します。しかし、対称暗号化を行いたいと思っています。C# .NET フレームワークでこれを行う必要があります。
rsa - HSM で Microsoft RSA キー BLOB をラップする方法
RSAPrivateKey を HSM にラップして、キーのアーカイブのために Microsoft CA に送信できるようにする必要がありますが、どのようなアプローチを取るべきかわかりません。
問題は、Microsoft RSA キー形式が独自のものであり、pkcs11 または私の会社が使用する nCipher HSM でサポートされていないように見えることです。
http://msdn.microsoft.com/en-us/library/cc250013.aspx
これが単なる RSAPrivateKey である場合、HSM でキー ペアを生成し、HSM にラッピング キーをロードし、RSAPrivateKey をラップして、ラップされたキー バイトを抽出するのは簡単です。明らかに、このキー BLOB 形式はサポートされていないため、別のアプローチを取る必要があります。
私が最初に考えたのは、RSAPrivateKey を拡張し、getEncoded() メソッドをオーバーライドして、この独自のキー形式を返すことでした。Java で高レベル API を pkcs11 に提供する IAIK pkcs11 ラッパーを使用しており、ベンダー定義のキー タイプの作成がサポートされています。ただし、ベンダー定義のキーのインターフェイスは、クライアント コードで組み込みのキー タイプを拡張するための利便性としてのみ存在するようであり、実際には HSM 内のキー エンコーディングを変更することはできません。
2 番目のアイデアは、pkcs11 データ オブジェクトを使用し、単純にそれをキー blob として扱い、それをラッピング キーで暗号化することでした。ここでの同じ問題は、秘密鍵のバイトをデータ オブジェクトにコピーするために、秘密鍵のバイトをアプリケーション コードに抽出し、そこからデータ オブジェクトを作成する必要があるように思われることです。 HSM のキー。
これらのアプローチに代わるものを探していますか、それとも pkcs11 に見落としていた機能があり、これが可能になるのでしょうか? 任意の洞察をいただければ幸いです。
java - nfast で Java IAIK PKCS11 ラッパーを動作させる
IAIK PKCS11 ラッパーを nfast で動作させようとしています。
常に pkcs11wrapper ライブラリ ファイルが必要で、エラーがスローされます -
java.lang.UnsatisfiedLinkError: pkcs11wrapper (java.library.path に見つかりません)
/opt/nfast/toolkits/pkcs11/libcknfast.so
HSM が提供するライブラリ ファイル ( ) を使用するにはどうすればよいですか?
どんな助けも大歓迎であり、忘れられています!
java - nShield Connect の Java コード
PKCS11 ライブラリを使用して nShield Connect HSM を接続するためのサンプル Java コードを探しています。RSA キーはトークン スロット 1 とソフト トークン スロット 2 で作成されます。インポートされた証明書はスロット 1 にあります。HSM に接続し、スロット 1 を読み取り、証明書を見つけて XML ドキュメントに署名するのが好きです。
c# - HSM クライアントとして複数の HSM に登録されている Pkcs11Interop Cryptoki アプリケーションは、アクティブな HSM に要求を検出して送信しますか?
アプリケーションでPkcs11Interop APIを使用して、 Thales nShield HSMに保存されている秘密鍵を使用してダイジェストに署名しています。
DR シナリオに対応するために、当社のデジタル署名アプリケーション ホステッド サーバーは、プライマリ Thales nShield HSM と DR (セカンダリ) Thales nShield HSM の両方に HSM クライアントとして登録されます。ここで、両方の Thales nShield HSM の IP アドレスは、インストールされているセキュア ワールド ソフトウェアが HSM 接続を作成する前にアクティブな HSM を検出するという前提に基づいて異なります。
プライマリ Thales nShield HSM をオフにして DR (フェイルオーバー) シナリオをテストしているときに、Pkcs11Interop で次のエラーが発生します。
メソッド C_Initialize が CKR_FUNCTION_FAILED を返しました。
Pkcs11Interop を使用して記述されたコードがアクティブな HSM を確認してからアクティブな HSM に要求を送信する必要があるかどうか、またはサーバーにインストールされているセキュア ワールド ソフトウェアがアクティブな接続を開く前にアクティブな HSM を確認する必要があるかどうかを知りたいです。
このシナリオを処理する正しい方向を教えてください。