質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
セキュリティー

このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Q&A

解決済

1回答

11217閲覧

SSLの秘密鍵ってどんなデータですか?またパスフレーズを解除するにはどうすればいいのでしょうか?

h-o

総合スコア134

セキュリティー

このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

0グッド

1クリップ

投稿2016/06/01 12:14

SSLを新しいサーバに移転するために、サーバの管理者からパスフレーズを解除した秘密鍵とその他が必要だと言われたのですが、今のサーバ管理者(新しいサーバ管理者とは別)からもらったSSLサーバ証明書に関するデータの中のどれが秘密鍵なのか?(どんな拡張子のものか)、どうやってパスフレーズを解除するのか?そもそもパスフレーズが設定されているかはどこを見ればわかるのでしょうか?

以上、お手数ですがよろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Apacheやnginx等で使う一般的なPEM形式という前提で話します。IISやアプライアンス製品では異なりますのでご注意ください。

秘密鍵はどんなものか?

秘密鍵の拡張子に決まったものはありません。一般的には、".key"、".pem"などとする場合が多いです。ファイルはただのASCIIのみのテキストファイルです。file himitsu.keyなどとすれば、"ASCII text"と判別されます。テキストエディタで開くことができますし、cat himitsu.keyなどでファイルの中身を表示することもできます。
※ 中身を表示すると秘密鍵が丸見えです。信頼できない環境ではやってはいけません。また、ログ等は削除しておいてください。

中身は次のようになっています。(下記は今作った適当な秘密鍵です)

-----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: AES-256-CBC,D4A595AAA3D01F3F435F7835AD147154 L0iYyvMNSra9yq8S8E/a4P1oOh1flcAC5pimm4yOxfwrbXfsJfWgUpF6TA8hyZ+u MIIEpAIBAAKCAQEApbgNzKcR5NZmyx/q2iV9SURf3/9u5R6duCSP9yGmAEJ3PoyY ...(何行か続く、鍵長等によって行数は異なる)... gQT1NO5kcgH8H9Xdj+9Icb2DMTckU1P69Jzn5bFRQmwalghXpTbX66f9B4cXuSrX SP3d0uXjJnuFQfK3DiiGLtt8FKm66gbummIpAKLcF7YggLKPz9ICptqAGqs5h7jq -----END RSA PRIVATE KEY-----

最初の-----BEGIN RSA PRIVATE KEY-----が始まりを意味し、-----END RSA PRIVATE KEY-----が終わりを意味します。その間が秘密鍵の中身となります。

最初のProc-Type:...DEK-Info:..の部分は秘密鍵自体の暗号化方式の情報です。パスフレーズが設定せれている=パスフレーズによって暗号化されていることを意味し、何かしらの暗号化方式を使っています。上の例ではAES256を使っていますが、DES3の方が多いとも思います。

パスフレーズが設定されていない=暗号化されていない、という場合は最初の三行はなく、文字列の羅列(上の例ではLOiYyvM...というところ)から始まります。この部分はBase64でエンコードされた秘密鍵そのものです。本来RSAの秘密鍵はバイナリのフォーマットなのですが、Base64を使用してテキストでやり取りできるようにしています。このテキストとして扱えるようにしたものをPEM形式と呼んでいます。

なお、証明書要求(CSR)や公開鍵証明書(CER)もPEM形式では似たようなファイル構造になっています。見分け方は、BEGIN RSA PRIVATE KEYというところがそれぞれ異なるため、中身を見ればすぐに判別は可能です。

パスフレーズをなくすには?

opensslのコマンドでなくせます。コマンドはopenssl rsa -in 入力するパスあり鍵 -out 出力するパスなし鍵です。

$ openssl rsa -in himitsu.key -out himitsu2.key Enter pass phrase for himitsu.key: (ここでhimitsu.keyのパスフレーズ入力) writing RSA key

上の例では、パスありのhimitsu.keyからパスなしのhimitsu2.keyが作成されるとなります。コマンド実行時は、問答無用で上書きするので、ご注意ください。秘密鍵はなくすと証明書再発行になるため、バックアップを取ってから実施することをお勧めします。

投稿2016/06/01 12:44

raccy

総合スコア21733

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

h-o

2016/06/01 14:00

回答いただき、誠にありがとうございます。 検索していろんなサイトを読みましたが、ここまでまとまった答えはありませんでした。 わかりやすく詳細に答えていただきありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問