問題タブ [hsm]
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.
cryptography - RSA キー ペア生成コマンド EE9001 でエラー 03 が返される
SafeNet HSM を使用しており、コマンド EE9001 を実行して RSA キー ペアを生成しようとしています。
どこ、
\01\01\22\00 はヘッダ
\00\13 はメッセージ長
\EE\90\01 は機能コード
\12\17\18\46\44\24\58\73 はコマンド識別子
\00 は機能修飾子
\00\02 は KeyType
\08\00は Modulus サイズ
\01\00\01は Public Exponent
最後の 2 文字はエラー コード、つまり 03 を表します。これは、メッセージの長さが正しくありません。リクエスト コマンドで 16 進数の長さが正しいため、エラー コードの先頭が間違っているようです。
ヒント:ドキュメントには次のように書かれています:
1. モジュラスが指定された公開指数と互換性があることを確認します。(彼らが話している互換性についてはわかりません!)
- 'Public Exponent' と 'User Data' の Var の長さにより、両方を分離することが困難になる場合があります (実際の長さを把握するため)。
以下は、マニュアルのコマンドです (「h」は 16 進値を表します)。
CVV を生成する別のコマンド '9B' を実行しましたが、正常に実行されました。しかし、そのコマンドには Var length Request Content がありませんでした。
ヘルプは大歓迎です!
hsm - 分割秘密鍵の操作
秘密鍵の分割を HSM デバイスにインポートする必要があります。キー暗号化キー (KEK) 3DES キーが転送用に分割されており、宛先 HSM で再結合する必要があります。
これはどのように行うことができますか?スプリットは実際に HSM 自体で再結合されていますか、それとも HSM の外部で再結合されてから結果が HSM にインポートされていますか?
ありがとうございました !
x509 - pkcs11 x509 チェーンの検証
現在、HSM を使用して安全なチャネル設定を実装しています。プロトコルは独自のものですが、標準の暗号化メカニズム (rsa sha) を使用します
安全なチャネルのセットアップで、証明書のスタックを受け取ります。最後の証明書はリモート デバイスの個人証明書です。このチェーンは、高級言語で検証する必要がありますが、問題ありません。しかし、これが pkcs11 インターフェイスでどのように行われるかの例は見つかりませんでした。pkcs11 には証明書チェーンの検証方法がないという印象がありますか? すべての証明書を分析し、基本的な pkcs11 関数を使用して署名を計算する必要がありますか? そして、これはあまり安全ではありません。スタック全体を HSM に渡したいと思うでしょう。HSM は OK か NOT かを報告します。OK の場合、(この場合) デバイス証明書の公開鍵を使用して、ランダムなチャネル鍵などを暗号化できます。
問題は、これは通常 pkcs11 でどのように行われるかということです。
javacard - Java カードで PKCS トークンの書き込みを開始する
Java カードに pkcs の実装を開始したいと考えています。私はたくさん検索しましたが、どこから始めるべきかを見つけることができませんでした。標準トークンは PKCS#11 機能と、おそらく PKCS#15 をサポートする必要があることを知っています。これらの 2 つの標準を読んで、自分のカードに実装するために最善を尽くす必要がありますか? Java Card での PKCS のオープン ソース実装はありますか?
よろしく
hsm - HSM で Offset を作成するための PVK を生成する
私はHSMにかなり慣れていません。現在、PIN を安全な方法で保存するために、HSM をアプリケーションに統合する必要があります。これを行うには、コマンド DE を使用して暗号化された PIN のオフセットを作成する必要がありますが、これには入力として PVK が必要です。PVK を作成する手順を知る必要があります。(コマンドと手順)。
次の手順を試しました
上記の手順が PVK を作成する正しい方法であると言える人はいますか。また、コンポーネント 1 と 2 として乱数を入力しましたが、これは正しいですか?
python - コマンドを HSM に送信する際の問題
Python コードを使用して HSM (Thales paysheild 9000) にコマンドを送信しようとしています。しかし、私がコードから得ている応答は、望ましいものではありません。
問題の特定に役立つ人はいますか? 応答には、理想的には、出力として取得した JA ではなく JB が含まれている必要があります。
以下がコードです。
python - HSM への DE コマンドの発行中に応答コードで 02 を取得する
HSM (Thales) で DE コマンドを使用して、暗号化されたピンのオフセットを作成しようとしています。これを行うためにPythonコードを使用しています。コマンドを実行すると、応答で 02 が返されます。エラーコードのマニュアルには、次のように説明されています
また、出力で生成されたオフセットも確認できます。しかし、なぜこのエラー コードが応答に含まれているのでしょうか。出力のオフセットを使用できますか?
事前に助けてくれてありがとう。
certificate - EJBCA はエラーで証明書の生成を拒否します: 同じキーを使用することは許可されていません
EJBCA に X.509 証明書の生成を要求するために、ユーザー名として静的な値「usernameTest」を使用しました。この静的ユーザー名を使用して証明書を生成した後、各証明書を一意に識別する一意の値に変更しました (ユーザー名はすべての証明書で同じであるため、静的ユーザー名の使用は更新と見なされるため (*) )、EJBCA は証明書の生成を拒否し、古い静的ユーザー名「usernameTest」を参照します。次のエラーが表示されます。
ユーザー '250320092916' は、ユーザー 'usernameTest' が使用しているキーと同じキーを使用することはできません。
ユーザー名「usernameTest」に対して以前に生成されたすべての証明書を取り消しましたが、それでも EJBCA からこのエラー メッセージが表示されます。ユーザー名「usernameTest」を削除する方法はありますか?
各証明書には、一意の SubjectDN とユーザー名があります。
EJBCA のバージョンはejbca-6.2.0です。
(*): EJBCA 管理 GUI で生成されたすべての証明書は、同じユーザー名に関連付けられています。
前もって感謝します。