これ は、SSL証明書のさまざまなタイプとそれらによって提供される信頼のレベルを説明する非常に優れたリンクです。拡張検証(EV)証明書は、アドレスバーの緑色と強調表示されている組織の名前で簡単に識別できます。
しかし、ドメイン検証と組織検証の証明書はどうでしょうか。明らかに後者はより良いレベルの信頼を提供します。したがって、問題は、エンドユーザーがサイトが使用している証明書の種類をどのようにして見つけるかです。ブラウザー(firefox)で証明書を表示しようとしましたが、関連するものが見つかりませんでした。
pS私はインターネットでさらに検索しましたが、Tidalwaveの回答でさえ、ユーザーが実際に見つける方法はないと指摘しています。つまり、これは、エンドユーザーの証明書がEVSSLと非EVSSLの2種類しかないことを意味します。これは、DVとOVの目的全体を無効にしないのですか?
一部の国で正式に登録された企業を、どこでホストされている登録済みドメインよりも信頼できると思いますか?
EVには検証の厳格化による明らかな利点がありますが、他の2つの信頼性の違いはかなり重要ではありません。 EVをサポートするブラウザベンダーは、他の2つの(OV、DV)検証モデルの個別の 視覚的識別 に同意する必要性を感じていませんでした。まったく)。
要するに、主要なブラウザベンダーのいずれも、2つを区別し、その名前でそれを支持する必要性を感じなかったか、または望んでいませんでした。彼らがしなかったことも良かった。企業がEVの精査に耐えることができれば、そのような証明書の申請を止めることはできません。一方、追加の検証がそれらの価格帯に収まらない、より安価な証明書に対するニーズも明らかに存在します。 EVをサポートするブラウザーベンダー(および他のいくつかのソフトウェアベンダーのユーザーインターフェイス)は、これらの安価な証明書を他の特別な方法で待機しません前述の理由により、すでに通常通りそこにあります。
質問の他の部分(証明書データの目視検査)については、OVとDVの説明は異なります。OVは通常、発行された会社に関するより多くのデータを保持しますが、それはそれだけです。この追加情報の表示は、クライアントによって異なる場合があります。ただし、添付しているその画像は Wikipedia からのものであり、詳細な証明書情報を検査しているブラウザーについては言及していなかったため、どのような違いがあるのかはわかりません。不明なブラウザ。
Mozilla Firefoxの拡張検証証明書の例(上記)。
編集:DV証明書には、組織名フィールドに識別情報が含まれていません。通常、この値はドメイン名を再表示するか、単に「Persona Not Validated」、「(unknown)」などと表示されます。これはすべてのCAの標準ではありません。別の方法は、2.23.140.1.2.1がDVを表し、2.23.140.1.2.2がOVを表すポリシーID(存在する場合)を検査することです。繰り返しになりますが、これはすべてのCAで採用されているわけではありません。つまり、証明書がドメインであるか組織で検証されたものであるかを判別する方法はありません。
Mozilla Firefoxでのドメイン検証済み証明書の例(上記)。組織情報フィールドに意味のあるデータがないことに注意してください。
ブラウザのIDフィールドでDVとOFの間に違いはありません。以下のスクリーンショットは、Chrome、Firefox、MSIEのこのフィールドを示しています。 DVとOVの両方で、IDフィールドにはURL(会社名なし)のみが表示されます。
サイトにEVがある場合、会社名がURLとともに表示されます。 Chrome=およびMSIEは会社名に緑色の背景を使用しますが、Firefoxは会社名に緑色のテキストを使用します。
ただし、証明書自体を見ると、違いがわかります。
以下の2つのスクリーンダンプは、どちらもFirefox証明書ビューアからのものです。
以下のスクリーンダンプは、ドメイン検証(DV)のみのサイトのものです。ご覧のとおり、証明書には組織に関する情報はありません。
次のスクリーンダンプは、Organization Validation(OV)があるサイトからのものです。ここでは、ドメインを所有する組織の名前を確認できます。
また、Extended Validation(EV)を使用するサイトの組織の名前も表示されます。 OVとEVの違いは、サイトにEV証明書がある場合は会社名がブラウザーのIDフィールドに表示され、OV証明書がある場合は表示されないことです。
DV証明書とOV証明書を区別する別の方法は、数値のポリシー識別子を検査することです(存在する場合は、証明書の[詳細]タブに表示されます)。この識別子はすべてのCAで採用されているわけではないことに注意してください。ポリシー識別子に使用される値を以下に示します。
DV 2.23.140.1.2.1
OV 2.23.140.1.2.2
問題の拡張機能とOIDは、コマンドラインopenssl x509 -noout -text -in <cert.file>
を実行して読み取ることができます。
定期的に行う場合は、正確であることが必要な場合があります。ここに私自身のPython 3証明書ヘルパーツールからのスニペットがあります:
known_policies = {
'2.23.140.1.2.1': 'DV',
'2.23.140.1.2.2': 'OV',
'2.23.140.1.1': 'EV'
}
policy_re = re.compile(r'.*(2\.23\.140\.1\.[.0-9]+)', re.DOTALL)
ext = x509.get_extension(idx)
if ext.get_short_name().decode('ascii') != 'certificatePolicies':
# Other type of extension, not interested in that
continue
policy_match = policy_re.match(str(ext))
if not policy_match:
# Doesn't seem to contain valid policy information
continue
policy_oid = policy_match.group(1)
type = known_policies[policy_oid]
一般的な考え方は、PythonのOpenSSLライブラリを使用してX.509証明書を読み取り、ロードすることです。次に、certificatePolicies-extensionを探しながら、拡張機能を繰り返します。予想される通常の状態は、拡張データにハードコードされたOIDの1つがあることです。