証明書の秘密鍵はADCSのCA局、証明機関から作成、提供されない

最近まで知らなかったことがあるんですが、とても勉強になったので共有します。それは、証明書の秘密鍵はADCSのCA局、証明機関から作成、提供されないということです。


これまでは、CSRって誰が作成してもいいものだと思って勘違いをしていました。例えば、Aサーバーで作成したCSRで発行してもらったサーバー証明書をBサーバーで利用するとか。


この場合、秘密鍵を持っているのはAサーバーなので、Bサーバーに証明書をインポートしても秘密鍵が表示されません。確かに、この事象を知らずに、以前、自サーバーにインポートして秘密鍵をエクスポートするという手間な作業をした記憶があったのですが、まさにこれが理由でした。

 


以前、不可解な事象と思っていましたが、実はこれが理由だったのです。


つまり、CSRを作成する場合は、自サーバーでやるのがベストです。例えば、ADCSなどで証明書を発行する場合に、代替えで別のサーバーでCSRを発行した場合は、一旦、CSRを作成したサーバーに証明書をインポートして、秘密鍵を保持した状態のサーバーをエクスポートすればOKです。


その際に、秘密鍵も一緒にエクスポートしてあげます。意外と知らないとはまる事象ではないかと思います。ちなみに、秘密鍵は自サーバーであれば、復旧出来ますので、例えば、誤ってインポートした証明書を削除してしまうと、次にインポートしても証明書に秘密鍵が表示されなくなるので、注意です。


私も以前、この手順で焦ったことがあります。