ルート証明書と、自己署名証明書や自己発行証明書の違い

プログラミングor技術

ネスペの勉強していてルート証明書と自己署名証明書を間違えた。

Wikipediaによると

p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ‘.Hiragino Kaku Gothic Interface’}
span.s1 {color: #dca10d}
span.s2 {font: 12.0px ‘Helvetica Neue’}

「自己署名証明書とは、自分の秘密鍵でそれに対応する公開鍵に署名した証明書のことである。自分の秘密鍵で署名していても、認証局が識別名を変更したときに発行することがあるネーム・ロールオーバー証明書のような識別名が異なる証明書は、ルート証明書ではない。自己発行証明書とは、発行者と主体者が同じ実体である公開鍵証明書のことである。自分自身に発行しても、他の秘密鍵で署名された自己発行証明書(認証局が鍵を更新したときに発行するキー・ロールオーバー証明書や、CRLの署名用に別の鍵対を使うときなどに発行する証明書)は、ルート証明書ではない。」

とのこと。

RFC5280の第3章2節によると

 Self-issued certificates(自己発行証明書) are CA certificates in which the issuer and subject are the same entity. Self-issued certificates are generated to support changes in policy or operations. Self- signed certificates(自己署名証明書) are self-issued certificates where the digital signature may be verified by the public key bound into the certificate. Self-signed certificates are used to convey a public key for use to begin certification paths. 

とのこと。

つまり、

p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ‘.Hiragino Kaku Gothic Interface’}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ‘Helvetica Neue’; min-height: 14.0px}
span.s1 {font: 12.0px ‘Helvetica Neue’}

  • 自己署名証明書 = 署名する(される?)公開鍵に対応した秘密鍵で署名した証明書(発行者≠主体者でもよい)
  • 自己発行証明書 = 発行者と主体者が同じ実体である公開鍵証明書(使う秘密鍵が署名する公開鍵とペアになるものでなくてもよい)

「ルート証明書は自己署名証明書かつ自己発行証明書」 ということらしい

コメント