最終更新日:2020年11月
証明書の有効期間は短くなりましたが、ほとんどのIT担当者は、TLS/SSLの設定を頻繁に変更することはありません。多くの人は、1年に1回程度、証明書の変更が必要なときに鍵の問題に直面します。しかし証明書や秘密鍵の管理は難しく、これらの資料がどこにあるのかを探すことさえ、時間がかかってしまうことがあります。この記事では、秘密鍵を見つけるための手順をご説明します。これから最も一般的なOSについて説明しますが、その前に、秘密鍵についての基本的な説明をします。Apacheで最も普及しているSSLライブラリであるOpenSSLは、デフォルトで秘密鍵を /usr/local/sslに保存します。 openssl version -aというコマンドを実行してOPENSSLDIRを調べ、サーバーが秘密鍵を保存しているフォルダを確認することができます。
Windowsサーバでは、OSが隠しフォルダーで証明書ファイルを管理していますが、証明書と秘密鍵を含む「.pfx」ファイルをエクスポートすることで、秘密鍵を取り出すことができます。
Microsoft Management Console (MMC) を開きます。コンソールルートで「Certificates (Localコンピュータ)」を展開します。サーバ証明書は、「Personal」または「ウェブサーバ 」のサブフォルダーにあります。コモンネームで示される証明書を探して右クリックし、「エクスポート」を選択して、案内されるウィザードに従います。これで「.pfx」ファイルが作成できます。詳しい手順は、こちらをご覧ください。D秘密鍵の処理内容によっては、「.pfx」ファイルを変換して秘密鍵を別のファイルに分割する必要があります。秘密鍵をバックアップしたり、別のWindowsサーバにインストールする場合は、すでに適切なフォーマットになっています。Apacheなどの他のプラットフォームで使用する場合は、OpenSSLで「.pfx」ファイルを変換して、「.crt/.cer」と「.key」ファイルに分離する必要があります。
この方法で秘密鍵が見つからない場合は、 DigiCert SSL Utilityをダウンロードしてみてください。このソフトウェアは、証明書をインポートし、秘密鍵がそのサーバにある場合は自動的に見つけることができます。なお、これはオンプレミスのソフトウェアであり、秘密鍵の材料に関する情報をデジサートに共有するものではありません。デジサートは、TLS 証明書のための秘密鍵の材料を取得することはありません。また、認証局によるTLS鍵の仲介(文書署名や S/MIME 証明書で時々発生します)は、ルートストアのポリシーで厳しく禁止されています。OSの手順に従っても秘密鍵が見つからない場合は、探している場所が間違っている可能性があります。
HTTPS 接続が機能しているサーバを使用している場合、秘密鍵はそのサーバのどこかにある(またはそのサーバーにアクセスできる)はずで、そうでなければ HTTPS 接続は失敗します。ここでは、一般的なシナリオについてのみ説明しますが、お客様の組織では独自の構成を使用している可能性があります。サーバーで「.key」ファイルを検索したり、新しい証明書をインストールする際の手順を確認してみてください。
一部のプラットフォームでは、OpenSSLは-reqコマンドを実行した時と同じディレクトリに「.key」ファイルを保存します。 まだ証明書をインストールしていないのに秘密鍵が見つからない場合は、なくなっている可能性があります。CSRを作成したものの、秘密鍵ファイルが見つからない場合、最も簡単な方法は証明書を再発行することです。まず、新しいCSRを作成し、秘密鍵は必ず既知の場所に保存し、証明書とその新しい秘密鍵をペアにします。デジサートなら、再発行はいつでも無料です。 秘密鍵の材料をどこでどのように保護しているかを把握することはセキュリティ上、重要ですが、新しい証明書を注文するたびに新しい鍵ペアを生成することを強くお勧めします。秘密鍵の素材を再利用することは好ましくない行為であり、秘密鍵が漏洩した場合には広範囲に問題が発生し、新たな脅威が発見された場合にはセキュリティフレームワークが貧弱になる可能性があります。秘密鍵の材料とCSRの生成はこれまで以上に簡単で、デジサートは、頻繁な秘密鍵の入れ替えをサポートし、企業が適切なセキュリティ対策を導入するできるようにします。