問題タブ [private-key]

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.

0 投票する
5 に答える
39767 参照

java - JavaでのRSA秘密鍵による暗号化

一部のコンテンツをRSA秘密鍵で暗号化しようとしています。

私はこの例に従っています: http

://www.junkheap.net/content/public_key_encryption_javaです が、公開ではなく秘密鍵を使用するように変換しています。その例に従って、私がする必要があるのは次のとおりだと思います。

  • DER形式の秘密鍵を読み込む
  • PCKS8EncodedKeySpecを生成します
  • KeyFactoryからgeneratePrivate()を呼び出して、秘密鍵オブジェクトを取得します
  • その秘密鍵オブジェクトをCipherオブジェクトとともに使用して、暗号化を行います

したがって、手順は次のとおりです。

キーはopensslから次のように生成されました。

openssl genrsa -aes256 -out private.pem 2048

次に、次の方法でDER形式に変換されました。

openssl rsa -in private.pem -outform DER -out private.der

次のコマンドでPKCS8EncodedKeySpecを生成します。

次に、次のコマンドで秘密鍵オブジェクトを生成します。

ただし、次の呼び出しで:

私は得る:

質問:

  • 一般的なアプローチは正しいですか?
  • PCKS8EncodedKeySpecは使用するのに適切なkeyspecですか?
  • 無効なキースペックエラーについて何か考えはありますか?
0 投票する
3 に答える
8404 参照

encryption - ハイブリッド暗号システムのクライアントに AES 初期化ベクトルを通信する方法

クライアントとサーバー間の通信にセキュリティを実装する必要があります。次のハイブリッド暗号システムを実装しました

Alice 宛てのメッセージをハイブリッド暗号システムで暗号化するために、Bob は次のことを行います。

  1. Alice の公開鍵を取得します。
  2. データ カプセル化スキームの新しい対称キーを生成します。
  3. 生成されたばかりの対称キーを使用して、データ カプセル化スキームでメッセージを暗号化します。
  4. アリスの公開鍵を使用して、鍵のカプセル化方式で対称鍵を暗号化します。
  5. これらの暗号化を両方とも Alice に送信します。

このハイブリッド暗号文を復号化するために、Alice は次のことを行います。

  1. 彼女の秘密鍵を使用して、鍵カプセル化セグメントに含まれる対称鍵を復号化します。
  2. この対称キーを使用して、データ カプセル化セグメントに含まれるメッセージを復号化します。

公開鍵暗号システムには RSA を使用し、対称鍵暗号システムには AES を使用しています。すべてが正常に動作しますが、AES 初期化ベクトルを処理する方法がわかりません。現在、AESキーと初期化ベクトルを連結して公開キーで暗号化し、それをサーバーに送信しています。

このアプローチについて意見を求めたかっただけです。この問題が他の通信プロトコル SSL などでどのように解決されているか。

ありがとう。

0 投票する
2 に答える
1625 参照

c# - バックドア エントリ スキームのチャレンジ/レスポンスを生成する効率的な方法は何ですか?

パスワード認証を使用してデータベースにアクセスするシステムがあり、ユーザー名と暗号化されたパスワードがデータベースに保存されます。ユーザーがパスワードを忘れた場合 (または管理者がより環境に優しい牧草地に移動した場合)、現在の管理者の新しいパスワードを生成するか、新しい管理者を生成できるようにする必要があります。

お客様との電話サポートを行っております。したがって、次のシナリオを使用します。

ユーザーが電話をかけます - パスワードを忘れました。

クライアント ソフトウェアは、サイト ライセンスに基づいてチャレンジ コードを生成します。

ユーザーが電話サポート スタッフにチャレンジ コードを伝える

電話サポート スタッフが応答コードを伝える

ユーザーはチャレンジとレスポンスのコードを入力し、バックドアに入ります (新しいユーザーが作成されるか、現在のユーザーのパスワードがリセットされます)。

チャレンジ/レスポンスが一度だけ機能するようにしたいので、バックドアを開いたままにしたくありません。

どうすればいいですか?

0 投票する
3 に答える
20989 参照

c# - C# で PKCS#8 RSA 秘密鍵 (OpenSSL で作成) をインポートする方法

外部ライブラリを使用せずに、C# で OpenSSL PKCS#8 RSA を使用して作成された privateKey を読み取る方法を見つけようとしています。

誰かがこれを行う方法を知っていますか?

0 投票する
1 に答える
36 参照

winforms - 分散クライアントからの Web アプリケーション API への呼び出しを確認する方法はありますか?

分散クライアントからの Web アプリケーション API への呼び出しを確認する方法はありますか?

つまり、シック クライアント (windows フォーム クライアントと言う) と、HTTPS インターフェイスを公開するサーバー側 Web アプリケーション (ユーザーが認証のためにユーザー名/パスワードをクライアント構成に入れると仮定) の両方がある場合、Web アプリケーションを確実にする方法はありますか?インターフェイスはクライアントのみが使用しますか? つまり、ユーザーが「システムをプレイ」し、独自のスクリプト/アプリを開発して API を使用する (したがって、サービスを悪用する可能性がある) ことを防ぎます。

ペイロードに署名できるように秘密鍵を何らかの形で WinForms クライアントに埋め込んだ場合、ユーザーによって逆コンパイルされる可能性があることを意味しますか??? これを解決できるかどうか知りたいだけです....

ありがとう

0 投票する
4 に答える
3954 参照

erlang - Erlang で RSA キー ペアを生成しますか?

Erlang には、公開秘密鍵を生成する crypto 関数があります (ドキュメントは以下にコピーされています)。ただし、ドキュメントがあいまいで、共有素数またはジェネレーターを生成する方法を説明するサンプル コードが見つかりません。誰かが公開鍵と秘密鍵のペアを生成する例を投稿できますか? 助けてくれてありがとう!

型: DHParameters = [P, G] P, G = Mpint ここで、P は共有素数、G は共有ジェネレータです。PublicKey, PrivateKey = Mpint() Diffie-Hellman PublicKey と PrivateKey を生成します (指定されていない場合)。

0 投票する
1 に答える
3108 参照

php - ローカルホストのキャプチャ公開鍵および/または秘密鍵が必要ですか?

XamppでPHPを使用してローカルで開発しています。

recaptchaを使用しようとしています。

公開鍵または秘密鍵が必要ですか?

前もって感謝します。

0 投票する
3 に答える
5180 参照

c# - C#でpvkファイルから秘密鍵を読み取る方法は?

秘密鍵を読み取る必要がありますが、この鍵は pvk 形式です。私は X509Certificate2 クラスを使用していますが、このクラスには公開鍵アクセスしかありません。pvk ファイルから秘密鍵を取得するにはどうすればよいですか?

0 投票する
1 に答える
1086 参照

c# - C# で OpenSSH キーを PuTTY 形式に変換するにはどうすればよいですか?

OpenSSH 形式で SharpSSH によって生成されたキーがあります。C# で PuTTY 形式に変換するにはどうすればよいですか?

0 投票する
4 に答える
1658 参照

encryption - 何らかの変更を加えた後でも秘密鍵を使用して復号化を実行できるように、公開鍵を変更する方法はありますか?

非対称暗号化スキームでは、次のことを達成できるかどうか疑問に思っていました:

  1. ボブは自分の公開鍵をアリスに送信します
  2. Alice は Bob の公開鍵を変更し、それを使用して一部の文書を暗号化します
  3. Alice は暗号化されたドキュメントを Bob に送信します。
  4. ボブは文書を取得しますが、彼の秘密鍵でそれを復号化することはできません
  5. その後、アリスはいくつかの追加情報 (おそらくボブの公開鍵を変更するために使用した方法に関連する) をボブに送信します。
  6. ボブはこの追加情報を使用して秘密鍵を変更し、ドキュメントを正常に復号化します

誰?

キーの生成、暗号化、および復号化には RSA を想定していますが、別のスキームを使用する方が簡単な場合は、遠慮なくコメントしてください。