177

特定の秘密鍵が特定の公開鍵と一致することを確認する簡単な方法はありますか? いくつ*.pubかの*.keyファイルがあり、どれがどれと一致するかを確認する必要があります。

繰り返しますが、これらは pub/key ファイル、DSA です。

私は本当にある種のワンライナーを好むだろう...

4

12 に答える 12

274

私にとってよりうまくいくと思われる方法を見つけました:

ssh-keygen -y -f <private key file>

このコマンドは、指定された秘密鍵の公開鍵を出力するため、出力を各 *.pub ファイルと比較するだけです。

于 2008-11-08T12:22:00.473 に答える
59

私は常に次のコマンドを使用して係数の MD5 ハッシュを比較します。

Certificate: openssl x509 -noout -modulus -in server.crt | openssl md5
Private Key: openssl rsa -noout -modulus -in server.key | openssl md5
CSR: openssl req -noout -modulus -in server.csr | openssl md5

ハッシュが一致する場合、これら 2 つのファイルは一緒になります。

于 2008-11-11T13:48:05.057 に答える
49

DSA キーの場合は、

 openssl dsa -pubin -in dsa.pub -modulus -noout

公開鍵を印刷するには、次に

 openssl dsa -in dsa.key -modulus -noout

秘密鍵に対応する公開鍵を表示し、それらを比較します。

于 2008-11-08T11:06:04.480 に答える
20

X.509証明書内に公開鍵があり、それらがRSA鍵であると仮定すると、公開鍵ごとに、

    openssl x509 -in certfile -modulus -noout

秘密鍵ごとに、

    openssl rsa -in keyfile -modulus -noout

次に、モジュラスによってキーを一致させます。

于 2008-11-08T09:49:43.527 に答える
20

diff を使用すると、チェックを簡単に行うことができます。

diff <(ssh-keygen -y -f $private_key_file) $public_key_file

唯一の奇妙な点は、ファイルが同じである場合、diff は何も言わないことです。そのため、パブリックとプライベートが一致しない場合にのみ通知されます。

于 2014-03-23T18:50:38.797 に答える
5

公開鍵を削除し、秘密鍵から新しい鍵を生成します。それらを別々のディレクトリに保管するか、命名規則を使用してそれらをまっすぐに保ちます。

于 2008-11-08T12:35:59.120 に答える
4

Windows で GUI を使用したい場合は、puttygenを使用して秘密鍵をインポートできます。

ここに画像の説明を入力

インポートしたら、その公開鍵を保存して自分のものと比較できます。

于 2016-09-27T10:49:06.557 に答える
1

公開鍵で何かを暗号化し、どの秘密鍵がそれを復号化するかを確認します。

Jeff Atwoodによるこのコード プロジェクトの記事では、.NET 暗号化クラスの単純化されたラッパーを実装しています。これらの鍵が RSA で使用するために作成されたと仮定すると、公開鍵で非対称クラスを使用して暗号化し、秘密鍵で同じことを復号化します。

于 2008-11-08T09:38:12.350 に答える
-1

puttygenを使用して、秘密鍵をロードするだけです。対応する公開鍵のエクスポートなど、さまざまなオプションを提供します。

于 2013-11-13T09:41:06.703 に答える