ExtendedKeyUsage

証明書拡張 extended key usage (PKI)

[9] 証明書拡張 extended key usage は、証明書に含まれる公開鍵の用途を記述するものです。

仕様書

構文

[13] critlcal でも non-critical でも構いません >>1

[10] id-kp-serverAuth, id-kp-clientAuth などの値が RFC 5280 で定義されています。

文脈

[12] 普通は EE証明書で使います >>1

[5] BR に従うルートCA証明書は、本拡張を含めてはなりません >>4

SSL/TLS 証明書における利用

[6] BR に従う下位CA証明書id-kp-serverAuthid-kp-clientAuth の一方または両方を含めなければなりません。 他の値も含めても構いません。本拡張は non-critical とするべきです。 >>4

[7] 本拡張は RFC 5280 によれば通常末端実体証明書にのみ含めるものですが、 本拡張が広く用いられるようになるまでの措置として含めることができるものです >>4

[8] BR に従うSubscriber Certificate は、id-kp-serverAuthid-kp-clientAuth の一方または両方を含めなければなりませんid-kp-emailProtection も含めることができます。 それ以外は含めるべきではありません>>4

TLS証明書も参照。

[14] 多くの中間証明書EE証明書serverAuthclientAuth を含んでいるようです。

実装

[2] ExtendedKeyUsageとブラウザの挙動 ( 版) http://www.daily-labo.com/column/col050131.html

つまり、ExtendedKeyUsageにserverAuthが無いものをサーバ証明書として使った場合、

opensslは無視する

InternetExplorerはちゃんと守る

という動作をすることになります。

[3] ExtendedKeyUsageとブラウザの挙動 ( 版) http://www.daily-labo.com/column/col050131.html

試しにcriticalに設定してみました。

extendedKeyUsage = critical, clientAuth, emailProtection, msSmartcardLogin

これの設定でサーバ証明書を発行し、Apacheに組み込みます。

そして、前述の原因調査と同様にアクセスしてみました。

結果は・・

Apacheは立ち上がった

IEはダメ

opensslではアクセスできた

関連

[11] trust bits も参照。

メモ

TLS