• 検索結果がありません。

Microsoft 社製品

ドキュメント内 untitled (ページ 37-44)

2.7 調査結果の考察

2.7.1 Microsoft 社製品

  DWORD       dwRevocationFreshnessTime; 

} CERT̲CHAIN̲CONTEXT, *PCERT̲CHAIN̲CONTEXT; 

図 2-6 証明書検証の結果を保持する構造体(CERT_CHAIN_CONTEXT)の構成

(a)

検証対象の証明書または証明書チェーンに関するエラー

エラーコードの定義値 意味

CERT_TRUST_NO_ERROR 証明書およびチェーンに問題はない。

CERT_TRUST_IS_NOT_TIME_VALID

検証対象の証明書か証明書チェーンの 証明書で有効期限が妥当ではないもの がある。

CERT_TRUST_IS_NOT_TIME_NESTED 証明書チェーンの証明書で有効期限の

関連が適切ではない CERT_TRUST_IS_REVOKED

トラストポイントの証明書か証明書チ ェーンの証明書で失効しているものが ある。

CERT_TRUST_IS_NOT_SIGNATURE_VALID

検証対象の証明書か証明書チェーンの 証明書で有効な署名でないものがあ る。

CERT_TRUST_IS_NOT_VALID_FOR_USAGE

検証対象の証明書か証明書チェーンの 証明書で指定された鍵使用法と合致し ないものがある。

CERT_TRUST_IS_UNTRUSTED_ROOT 証明書チェーンが信頼されないルート

認証局に基づいている。

CERT_CHAIN_CONTEXT 証明書チェーン・コンテキスト

CERT_TRUST_STATUS 検証結果 検証エラーのコード

検証結果の情報のコード

PCERT_SIMPLE_CHAIN 証明書のパスを保持

PCERT_CHAIN_ELEMENT パスの要素を保持

検証結果

証明書コンテキスト

CERT_TRUST_REVOCATION_STATUS_UNKN OWN

検証対象の証明書か証明書チェーンの 証明書で、失効状態が不明なものがあ る。

CERT_TRUST_IS_CYCLIC 証明書チェーンが循環している。

CERT_TRUST_INVALID_EXTENSION 無効な拡張がある。

CERT_TRUST_INVALID_POLICY_CONSTRAIN TS

検証対象の証明書か証明書チェーンの 証明書で、ポリシー制約拡張を持つも のがあり、プリシマッピングが禁止さ れているか、ポリシーが要求されてい るのにない証明書がある。

CERT_TRUST_INVALID_BASIC_CONSTRAINT S

検証対象の証明書か証明書チェーンの 証明書で、基本制約拡張を持つものが あり、CA制約かパス長制約に反する 証明書がある。

CERT_TRUST_INVALID_NAME_CONSTRAINT S

検証対象の証明書か証明書チェーンの 証明書で、無効な名前制約拡張がある

CERT_TRUST_HAS_NOT_SUPPORTED_NAME _CONSTRAINT

検証対象の証明書か証明書チェーンの 証明書で、サポートしていないフィー ルドを持つ名前制約拡張を持つものが ある。minimumフィールドと

maximumフィールドはサポートして

いない。したがって、minimum値は 常に0として、maximum値はあって はいけない。otherNameとしては MicrosoftUPN(1.3.6.1.4.1.311.20.2.3) がサポートされている。x400Address、

ediPartyName、registeredIDはサポ ートされていない。

CERT_TRUST_HAS_NOT_DEFINED_NAME_C ONSTRAINT

検証対象の証明書か証明書チェーンの 証明書で、名前制約拡張があるが、証 明書の名前に使われているフィールド に関する制約がない。

CERT_TRUST_HAS_NOT_PERMITTED_NAME _CONSTRAINT

検証対象の証明書か証明書チェーンの 証明書で、名前制約拡張を持つものが ありpermittedSubtreesフィールドが あるが、許可されていない名前を持つ 証明書がある。

CERT_TRUST_HAS_EXCLUDED_NAME_CONS TRAINT

検証対象の証明書か証明書チェーンの 証明書で、名前制約拡張を持つものが あり、excludedSubtreesフィールドが あるが、受け付けられない名前を持つ 証明書がある。

CERT_TRUST_IS_OFFLINE_REVOCATION

検証対象の証明書か証明書チェーンの 証明書に関する失効情報は、オフライ ンでものであるか古い。

CERT_TRUST_NO_ISSUANCE_CHAIN_POLIC Y

ポリシー制約拡張でポリシーが要求さ れているが、要求されたポリシーを満 たさないものがある。

CERT_TRUST_IS_PARTIAL_CHAIN 証明書チェーンが完結していない。

CERT_TRUST_CTL_IS_NOT_TIME_VALID この証明書チェーンを構築するために

使ったCTLが古い。

CERT_TRUST_CTL_IS_NOT_SIGNATURE_VAL ID

この証明書チェーンを構築するために 使ったCTLに有効な署名がない。

CERT_TRUST_CTL_IS_NOT_VALID_FOR_USA GE

この証明書チェーンを構築するために 使ったCTLの使用法は適切ではない。

CERT_TRUST_HAS_VALID_NAME_CONSTRAI

NTS 有効な名前制約を持つ。

(b)

参照情報

TrustStatus.dwInfoStatus

エラーコードの定義値 意味

CERT_TRUST_HAS_EXACT_MATCH_ISSUER 適切な発行元の証明書が存在す

る。

CERT_TRUST_HAS_KEY_MATCH_ISSUER 適切な鍵を持つ発行元の証明書

が存在する。

CERT_TRUST_HAS_NAME_MATCH_ISSUER 適切な名前を持つ発行元の証明

書が存在する。

CERT_TRUST_IS_SELF_SIGNED 自己署名の証明書である。

CERT_TRUST_IS_COMPLEX_CHAIN 証明書チェーンは複数ある。

CERT_TRUST_HAS_PREFERRED_ISSUER 適切な発行元を持つ。

CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY ポリシーを持つ。

CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS 有効な名前制約を持つ。

(c)

検証各テストで取得した

TrustStatus

を以下に示す。

2-11

各テストで取得した

TrustStatus

のコード

テス ト番

期待 値と の合

TrustStatus.dwErrorStatus TrustStatus.dwInfoStatus

0

(CERT_TRUST_REVOCATION_STA TUS_UNKNOWN)

CERT_TRUST_INVALID_EXTENSION CERT_TRUST_HAS_PREFERRED_ISS UER

16  ×

CERT_TRUST_IS_PARTIAL_CHAI N

CERT_TRUST_IS_COMPLEX_CHA IN

(CERT_TRUST_REVOCATION_STA TUS_UNKNOWN)

0

30  ×

CERT_TRUST_IS_PARTIAL_CHAI N

CERT_TRUST_IS_COMPLEX_CHA IN

(CERT_TRUST_REVOCATION_STA TUS_UNKNOWN)

0

37 

CERT_TRUST_IS_PARTIAL_CHAI N

CERT_TRUST_IS_COMPLEX_CHA IN

(CERT_TRUST_REVOCATION_STA TUS_UNKNOWN)

0

49  0

(CERT_TRUST_REVOCATION_STA TUS_UNKNOWN)

CERT_TRUST_INVALID_EXTENSION CERT_TRUST_HAS_PREFERRED_ISS UER

101  0

CERT_TRUST_INVALID_EXTENSION CERT_TRUST_HAS_PREFERRED_ISS UER

112  ×

CERT_TRUST_IS_PARTIAL_CHAI N

CERT_TRUST_IS_COMPLEX_CHA 0

IN

123  ×

CERT_TRUST_IS_PARTIAL_CHAI N

CERT_TRUST_IS_COMPLEX_CHA IN

0

134  ×

CERT_TRUST_IS_PARTIAL_CHAI N

CERT_TRUST_IS_COMPLEX_CHA IN

0

135  ×

CERT_TRUST_IS_PARTIAL_CHAI N

CERT_TRUST_IS_COMPLEX_CHA IN

0

136  ×

CERT_TRUST_IS_PARTIAL_CHAI N

CERT_TRUST_IS_COMPLEX_CHA IN

0

137  0

CERT_TRUST_INVALID_EXTENSION CERT_TRUST_HAS_PREFERRED_ISS UER

138  ×

CERT_TRUST_IS_PARTIAL_CHAI N

CERT_TRUST_IS_COMPLEX_CHA IN

0

145  ×

CERT_TRUST_IS_PARTIAL_CHAI N

CERT_TRUST_IS_COMPLEX_CHA IN

0

149  0

CERT_TRUST_INVALID_EXTENSION CERT_TRUST_HAS_PREFERRED_ISS UER

150  ×

CERT_TRUST_IS_PARTIAL_CHAI N

CERT_TRUST_IS_COMPLEX_CHA IN

0

171  × CERT_TRUST_IS_PARTIAL_CHAI

N 0

CERT_TRUST_IS_COMPLEX_CHA IN

185  0

CERT_TRUST_INVALID_EXTENSION CERT_TRUST_HAS_PREFERRED_ISS UER

196  ×

CERT_TRUST_IS_PARTIAL_CHAI N

CERT_TRUST_IS_COMPLEX_CHA IN

0

209  0

304  失効 検出 不可

CERT_TRUST_REVOCATION_STA TUS_UNKNOWN

ERT_TRUST_INVALID_EXTENSION CERT_TRUST_HAS_PREFERRED_ISS UER

305  失効 検出 不可

CERT_TRUST_REVOCATION_STA TUS_UNKNOWN

CERT_TRUST_IS_OFFLINE_REVO CATION

CERT_TRUST_IS_PARTIAL_CHAI N

CERT_TRUST_IS_COMPLEX_CHA IN

0

306  失効 検出 不可

CERT_TRUST_REVOCATION_STA TUS_UNKNOWN

CERT_TRUST_IS_OFFLINE_REVO CATION

CERT_TRUST_IS_PARTIAL_CHAI N

CERT_TRUST_IS_COMPLEX_CHA IN

0

307 

CERT_TRUST_IS_REVOKED CERT_TRUST_HAS_NAME_MATC H_ISSUER

CERT_TRUST_INVALID_EXTENSION CERT_TRUST_HAS_PREFERRED_ISS UER

308  失効 検出 不可

CERT_TRUST_REVOCATION_STA TUS_UNKNOWN

CERT_TRUST_IS_OFFLINE_REVO CATION

CERT_TRUST_IS_PARTIAL_CHAI 0

N

CERT_TRUST_IS_COMPLEX_CHA IN

309  失効 検出 不可

CERT_TRUST_REVOCATION_STA TUS_UNKNOWN

CERT_TRUST_IS_OFFLINE_REVO CATION

CERT_TRUST_IS_PARTIAL_CHAI N

CERT_TRUST_IS_COMPLEX_CHA IN

0

310  失効 検出 不可

CERT_TRUST_REVOCATION_STA TUS_UNKNOWN

ERT_TRUST_INVALID_EXTENSION CERT_TRUST_HAS_PREFERRED_ISS UER

311  失効 検出 不可

CERT_TRUST_REVOCATION_STA TUS_UNKNOWN

CERT_TRUST_IS_OFFLINE_REVO CATION

CERT_TRUST_IS_PARTIAL_CHAI N

CERT_TRUST_IS_COMPLEX_CHA IN

0

312  失効 検出 不可

CERT_TRUST_REVOCATION_STA TUS_UNKNOWN

CERT_TRUST_IS_OFFLINE_REVO CATION

CERT_TRUST_IS_PARTIAL_CHAI N

CERT_TRUST_IS_COMPLEX_CHA IN

0

ドキュメント内 untitled (ページ 37-44)

関連したドキュメント