web-dev-qa-db-ja.com

自己署名SSL証明書を更新できますか?どうやって?

私はSSL証明書をかなり使い始めました。サイトのすべてのクライアントが持っている「許可例外」プロセスを実行しなくても、HTTPSに使用する自己署名証明書を更新して有効期限を延長できるかどうか知りたいです初めてサイトにアクセスするとき、またはゼロから作成した新しい自己署名証明書を発行するときのように。

found 次の tutorial は、opensslを使用して自己署名証明書を更新する方法を示していますが、ブラウザが黙ってそれを受け入れるように使用できませんでしたその「信頼できないサイト」の警告画面を表示せずに:

  # cd /etc/Apache2/ssl
  # openssl genrsa -out togaware.com.key 1024
  # chmod 600 togaware.com.key
  # openssl req -new -key togaware.com.key -out togaware.com.csr
    AU
    ACT
    Canberra
    Togaware
    Data Mining
    Kayon Toga
    [email protected]
    (no challenge password)
  # openssl x509 -req -days 365 -in togaware.com.csr \
            -signkey togaware.com.key -out togaware.com.crt
  # mv Apache.pem Apache.pem.old
  # cp togaware.com.key Apache.pem 
  # cat togaware.com.crt >> Apache.pem 
  # chmod 600 Apache.pem
  # wajig restart Apache2

私の設定は この答え で説明されているとおりであり、PEMファイルの代わりにCRTおよびKEYファイル( このチュートリアル から)を使用しているので、何かをめちゃくちゃにしてみました私のケースに適用します。

次に、自己署名証明書を更新することは完全に不可能であることを示唆する多くのフォーラムエントリを見つけました。新しい証明書を最初から作成する必要があります。

何か助けていただければ幸いです...またはこの質問は https://serverfault.com/ または https://superuser.com/ に適していますか?

20
FriendFX

定義により、自己署名証明書は直接信頼を介してのみ信頼できます。つまり、FirefoxのようなWebブラウザは「例外を許可」プロセスとして表示します。最後のビットまでの1つの非常に特定の証明書が「信頼できる」と宣言されます。このモデル、特に証明書に含まれるデータの一部である有効期限を終了しない限り、証明書の内容は変更できません。

更新は一種の家族的なものとして想像できます。証明書が「更新」されると、実際には若い兄弟によって置き換えられます。以前の証明書と同じ祖先を共有するため、クライアントは新しい証明書をサイレントに受け入れます。自己署名証明書は本質的に孤立しており、祖先はありません。したがって、兄弟も自動変速機もありません。

(この祖先のものとは別に、更新は新しい証明書の作成です。証明書は不変です。「更新」は方法です古い証明書と新しい証明書の関係について考えること。)

サイレント更新を行うには、自己署名[〜#〜] ca [〜#〜]が必要です証明書。サーバーの証明書をそのCAから発行し、クライアントにそのCAを信頼するように依頼します。もちろん、これは多くのことを求めています。信頼できるCAは、インターネット全体を偽装できるCAです。基本的に、このソリューションは、独自のCAを作成して維持することを目的としています。これは、責任といくつかの作業です。


次回自己署名証明書を作成するときは、有効期間を長くしてください。証明書は、失効を機能させるために主に期限切れになります(証明書の期限切れにより、CRLが無期限に大きくなるのを防ぎます)。自己署名証明書の場合、失効はないため、証明書を20年間有効にすることができます。または2000年の間、その問題については(ただし、クライアントソフトウェアによっては、 2038年の問題 がいずれかの時点で表示される場合があります)。

24
Tom Leek

短い答え:いいえ。

自己署名証明書を信頼することは、パスポートを発行する国ではなく、個々のパスポートを信頼することに似ています。新しいパスポートを取得した場合、特にそれは異なる属性(パスポート番号、日付など)を持つ別のものであるため、古いパスポートを信頼した人によって自動的に信頼されません。古いパスポートを明示的に信頼している誰かが新しいパスポートを信頼できることを知る根拠はありません。

3
Liam Dennehy

自己署名証明書を使用している場合(Windowsではxcaを使用することをお勧めします)、有効期限を7999-12-31(UTCの最大時間)に設定し、初期日付を1970-01-01( PCで誤って構成された時刻/日付との互換性)

0
H3LL0