問題タブ [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.
encryption - プライベート/シークレット ASC キーをエクスポートして GPG ファイルを復号化する方法
背景: 私の上司は、公開部分と非公開部分を含む ASC キーを私にエクスポートしようとしましたが、ファイルを取得するたびに、非公開部分がロードされず、ファイルの暗号化が解除されません。
以下を使用して ASC キーのエクスポートを試みました。
- Windows アプリケーション Kleopatra 2.1 (gpg4win に含まれています)
Windows アプリケーション GNU プライバシー アシスタント (gpg4win に含まれる)
/li>
gpg ファイルを復号化するために秘密鍵または秘密 asc キーを適切にエクスポートするにはどうすればよいですか?
cryptography - 暗号化 : モジュラスと指数を使用した RSA 秘密鍵の生成
私は暗号の世界に不慣れです。以下に示すデータから、対応する RSA 秘密鍵を生成する必要があります。
以下を使用して RSAPrivateKey を生成しましたが、キーが正しくありません。
c# - Windows キー ストアから秘密鍵を安全に処理する
ASP.Net Web サーバーの構成ファイル設定を暗号化するアプリケーションに取り組んでいます。私が実装している暗号化方法は、AES と RSA を使用してデータをエンベロープすることです。AES キーを生成し、その AES キーを使用してデータを暗号化し、Windows 証明書ストアの証明書の公開キーで AES キーを暗号化しています。次に、データを、暗号化された AES キーと、暗号化に使用された証明書のシリアル番号と共に、構成ファイルに保存します。
このデータにアクセスしたいときは、AES キーを暗号化するために使用された証明書のシリアル番号を読み取り、その証明書から秘密キーを引き出し、AES キーを復号化し、そのキーを使用してデータを復号化します。ここで、セキュリティのレベルが不明です。
証明書に関連付けられた秘密鍵にアクセスするには、秘密鍵をエクスポート可能としてマークし、アプリケーションが秘密鍵にアクセスして実行できるようにする必要があります。これは ASP.Net サーバーであるため、そのユーザーは "Network Services" です。これがセキュリティ上の問題になる理由がわかると思います。基本的に、誰かが Web 経由で私の ASP.Net サーバーに侵入した場合、おそらく何らかのインジェクションによって、その秘密キーにアクセスできるのではないでしょうか?
モデルをより安全にする方法について何か提案はありますか?
復号化機能:
ありがとう。
certificate - 開きますか?公開鍵と秘密鍵を結合する
基本的に、プライベート PEM キーと公開証明書 PEM キーがあります。両方を使用すると機能します(ただし、一方のみを使用すると機能しません)。
私が使用すると、これが機能します: wget --no-check-certificate --private-key=dev-private.pem --certificate=dev.pem https://???.???.???.?? ? (これは、Java keytool によって署名された自己署名証明書です。このキーストアにアクセスできます。) jks も生成しますが、ブラウザーでうまく機能します。
問題は、証明書を使用する必要がある私のアプリケーションの 1 つであり、彼は 1 つの PEM キーしかサポートしていません (「-----BEGIN CERTIFICATE-----」ヘッダーを持つ証明書のみをサポートしています)。秘密鍵と公開鍵を含む 1 つの PEM キーを作成する方法がわかりません。
1つの大きなPEMキーを作成するために両方を結合する方法はありましたか?
それらは、openssl の非常に多くのコマンド ラインです。
ありがとうございました
java - 秘密鍵暗号方式希望
サーバークライアントソフトウェアをプログラミングしていて、暗号化が必要でした。サーバーとクライアントの両方が、固定長の秘密鍵を共有します。キーの長さはまだ決めていませんが、キーが 1 ~ 32 文字になることはわかっています。キーは事前に決定されています (たとえば、キーを abc1234 にしたいと決める場合があります)。
私はJavaでプログラミングしていますが、クライアントはモバイルデバイスである可能性が最も高いため、アルゴリズムをできるだけ高速にする必要があります。圧縮は必要ありませんが、暗号化された文字列が大きくない方が望ましいです。
ここで最高の暗号化を探しているわけではありませんが、キーベースの暗号化は秘密鍵の知識がなければ解読できないことを理解しています.
共有秘密鍵を使用した暗号化/復号化のアルゴリズム/方法を誰かに勧めてもらえますか?
java - Java での暗号化 - ベスト プラクティス?
秘密鍵暗号化を使用するJavaのクライアントサーバーアプリケーションに取り組んでいます。
Cipher
現在、次のように初期化するクラスの静的オブジェクトを持つクラスがありますmyCipher.init(Cipher.DECRYPT_MODE, secretKey, ivParameterSpec);
。
ここで私の質問は次のとおりです。私は双方向通信を行っていCipher
ますが、各方法 (暗号化用と復号化用) に個別のオブジェクトを用意し、同じ初期化ベクトルを使用する必要がありますか? または、同じオブジェクトと呼び出しを使用して、Cipher.init()
暗号化するか復号化するかに応じてモードを変更する必要がありますか?
頭の中に別々のオブジェクトがあるのは理にかなっていますが、確認したかっただけです。私はグーグルを試しましたが、ほとんどの例は一方向の暗号化しか示していません。
現在、初期化ベクトルを暗号化せずにサーバーに送信していますが、これは正しいですか、それともセキュリティ上の欠陥がありますか?
それとも、完全に間違った方法でアプローチしていますか?
ありがとう。
ios - iOSの秘密鍵と証明書がペアになっていない
キーチェーンアクセスでペアリングするために証明書と秘密鍵を取得できないようです。それらは両方とも別々にキーチェーンにあります。私が取ったステップ:
キーチェーンからすべてをクリアします。.p12秘密キーファイルをインポートします(このアイテムの内容を読み取ることができないという警告が表示されます)このキーを使用して証明書要求を生成します(私はいくつかの異なる電子メールを試しました-これは重要ですか?)プロビジョニングプロファイルへの要求のアップロードプロビジョニングプロファイルの更新チームプロビジョニングプロファイルを生成するxcodeのオーガナイザーの下-これは、有効な秘密鍵/証明書のペアが見つからないことを示しています
私は過去にいくつかの証明書とプロビジョニングプロファイルを正常に作成しましたが、これは争いを引き起こしているようです。
この特定のキーは古いチームプロビジョニングプロファイルに使用されていましたが、証明書の有効期限が切れたため、新しい証明書を作成しようとしています。
ありがとう
c# - Windows証明書ストアからPrivateKeyを読み取ろうとしたときの例外
OpenSSLを使用して秘密鍵と公開鍵のペアを作成し、.p12ファイルを生成してWindows証明書ストアにインポートしました。キーペアと.p12ファイルはWindowsXPで作成されており、Windows 7で使用しようとしています。IISのWebサービス(.svc)内からキーにアクセスしようとしています。スタンドアロンアプリから秘密鍵を読み取ろうとすると問題なく実行できますが、Webアプリから秘密鍵を読み取ろうとすると、常に次の例外が発生します。
そして、これはスタックトレース全体です。
そして、これはキーを読み取るコードの私の部分です:
なんらかの許可の問題と関係があると思いますが、それが何なのかわかりません…何か提案があれば大歓迎です。
考慮事項:
- 秘密鍵はエクスポート可能です。
- ユーザーIIS_IUSRSには、証明書に対するアクセス許可があります。
c# - 生成されたCSRの秘密鍵を取得する
certenrollオブジェクトを使用してCSRを作成しています。主キーは同じマシン(証明書ストア)で作成されます。
生成されたCSRのためにローカルストアに保存されている主キーを取得する方法。
java - プログラムでSSLServerSocket(Java)に証明書と秘密鍵を直接ロードする方法はありますか?
私は「C」のバックグラウンドから来ました。Java SSL サーバーの作成方法を分析しようとしています。
そのため、私が見つけた例では、証明書とプライベートをキーストアにロードし、プログラムでキーストアを SSLContext に関連付けてから、同じものから SSLServerSocket を作成することについて話しています。
しかし、SSLServerSocket がどの証明書を使用する必要があるかを直接言及する方法はありますか? また、キーストアを使用していて、複数の証明書とキーがある場合でも、どの証明書とキーを使用するかを SSLServerSocket に指定するにはどうすればよいですか?
サンプルリンクは役に立ちます。