問題タブ [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.
key - PKCS11: 非機密で抽出可能な鍵をエクスポートする
抽出可能で機密性の低い派生キーを生成します。トークンからエクスポートして、さようならを見たいです。どうやってやるの?
java - Java から HSM への接続と「GC」/「FK」コマンドの送信
HSM からデータを送受信するコードは次のとおりです。
問題は、「GC」コマンドを実行するためにどのコマンドを送信する必要があるかです (ZPK を LMK から ZMK 暗号化に変換します)。TPK キーの明確なコンポーネントを生成する必要があります。通常、私はそうします
その後
Javaプログラムを使用してこれらのアクションを実行する必要があります。
encryption - Thales HSM Generate key "Form key from clear components" ("FK" コマンド)
コマンドによって生成された2つの明確なコンポーネントがあります000A30303030413230303255
(000A0000A2002U
これはHEXモードです。これは"GC"
、Javaコードを使用してLMKからZMK暗号化コマンドにZPKを変換するコマンドです)Javaコードを使用して
次に、これらのコンポーネントから暗号化されたキーを生成する必要があります。そのためのコンソール コマンド: "FK"
command (1270A513 Issue 3、ページ 5-14)。Java コードで実行するためのコマンドが見つかりませんでした。ホスト コマンド リファレンス マニュアル (1270A351 Issue 6) を使用したところA4
、暗号化されたコンポーネントからキーを生成するコマンドしか見つかりませんでしたが、このコマンドは暗号化されたコンポーネントからキーを生成するためのものです。
クリア コンポーネントを使用して暗号化されたキーを生成する方法はありますか?
hsm - M2 - データ ブロックの復号化コマンドが失敗しました
DUKPT 復号化の問題に直面しています。THales HSM マニュアルに従って Decrypt Data Block (M2) コマンドを送信していますが、0000M315 というエラー応答が返されます。
以下のコマンドを見つけてください。私のコマンドの問題点を教えてください。
指図: 0000M20011009U3BEE6C2C1850D691299B843984177A9A609FFFFFF8500000600016200E0beb0297d81e42bf9e07b1948dfaba7f8f032622173f61d2bacf6f485fa0a9babaf58637184b5e459cbae55f2b53ff9c356e4817f2efa9d70e740b27e2e089ccf42fefa56ee38c58d49f89206f9709c31e7ec616767f7638e3f853dde45af94e7cdb06502017a16c44ab472c3ce03260e
ありがとう、ナジール
encryption - HSM にある秘密鍵を使用してデータに署名および復号化する
データに署名して復号化するタスクがありますが、秘密鍵は HSM (Luna SA、/ Safenet ) にあります。すべてのクライアント ソフトウェアをインストールし、Luna SA CSP をテスト サーバーに接続しました。
提供されている PKCS#11 関数を使用して、HSM 上の公開鍵をPCCERT_CONTEXT
( CertCreateCertificateContext
) として一覧表示およびエクスポートできます。(CryptoAPI 関数を使用してCryptAcquireCertificatePrivateKey
) 秘密鍵を取得しようとすると、エラー コードが表示されますCRYPT_E_NO_KEY_PROPERTY
。
証明書データと CSP/HSM の間のリンクが欠落している可能性があります。誰かが似たようなことをして、何かヒントを与えることができますか?
編集
HSM にあるすべてのキーから CER ファイルを正常に作成しました。signtool.exe
使用方法( Microsoft Platform SDK に同梱されているもの) を知っていれば、HSM 上のキーを使用して dll に署名できます (ツール ウィザードを使用すると、キー コンテナー、キー仕様などを選択できます)。ツールが表示する情報を使用して、秘密鍵を設定しようとしました
しかし、CryptAcquirePrivateKey でも同じエラーが発生します。signtool は秘密鍵にアクセスできるため、ここではほんの少しだけ欠けていると思います
編集2
スクリーンショットには KEYEXCHANGE が表示されていますが、SIGNATURE を選択しました
編集3
LinkPrivateKey
機能を少し変更しましたが、動作するようになりました
cryptography - OpenSSL - 関数が呼び出されたエンジンと、ハードウェアが実際に使用されているかどうかを確認しますか?
まず、私は OpenSSL の世界では初心者です。基本的で野蛮なエラーについては、事前にお詫び申し上げます。
フローを考えてみましょう:
- ハードウェアを使用してエンジンで OpenSSL を初期化します (EngineHW と呼びましょう)。
- X509_sign などの OpenSSL 関数を呼び出します。
呼び出された関数がハードウェアで実行されたかどうかを確認する方法は?
EngineHW 関数が呼び出されたことを確認する方法は? 関数が EngineHW によって定義されていない場合はどうなりますか? OpenSSL はデフォルトのエンジンにフォールバックしますか?
質問は品質の主張に関連しています-私は暗号化を行うためのハードウェアを持っているので、ソフトウェアを使用することを回帰と考えています(少なくとも重要な機能については)。
openssl - 特定の PKCS11 エンジン バイナリを使用した OpenSSL インターフェイス
HSM の PKCS11 ライブラリがあり、OpenSSL を使用して PKCS11 ライブラリとやり取りし、キーと証明書を生成したいと考えています。
HSM、HSM および OpenSSL によって提供される PKCS11 バイナリ以外の外部サードパーティ ソフトウェアをインストールする必要なく、どうすればそれを行うことができますか。
java - JCA/JCE および HSM を使用して鍵を導出する方法
HSM にマスター キーがあり、特定の多様化子を使用してそれを導出したいと考えています。私は JCA/JCE の初心者であり、KeyGenerator、SecretKeyFactory などで少し迷っています。特にすべてのパラメータが文字列であるためです。AES または HmacSha1 を使用したい。SecretKeyFactory を使用し、KeySpecs を提供する必要があるようです。しかし、どのタイプの KeySpec でしょうか?
(そのトピックに関する投稿を見たことがありますが、HSM が使用されているようには見えませんでした。)
ありがとう。