SSLを新しいサーバに移転するために、サーバの管理者からパスフレーズを解除した秘密鍵とその他が必要だと言われたのですが、今のサーバ管理者(新しいサーバ管理者とは別)からもらったSSLサーバ証明書に関するデータの中のどれが秘密鍵なのか?(どんな拡張子のものか)、どうやってパスフレーズを解除するのか?そもそもパスフレーズが設定されているかはどこを見ればわかるのでしょうか?
以上、お手数ですがよろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答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
総合スコア21733
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/01 14:00