Test-Certificate

Test-Certificate

Verifies a certificate according to the input parameters.

構文

Parameter Set: Default
Test-Certificate [-Cert] <Certificate> [-AllowUntrustedRoot] [-DNSName <String> ] [-EKU <String[]> ] [-Policy <TestCertificatePolicy> {BASE | SSL | AUTHENTICODE | NTAUTH} ] [-User] [ <CommonParameters>]

詳細説明

The Test-Certificate cmdlet verifies a certificate according to input parameters. The revocation status of the certificate is verified by default. If the AllowUntrustedRoot parameter is specified, then a certificate chain is built but an untrusted root is allowed. Other errors are still verified against in this case, such as expired. If the DNSName parameter is used, then the DNS subject alternative name is used to verify SSL policy. If the EKU parameter is used, then the specified application policy object identifiers are used to verify the chain. If the User parameter is used, then the specified user context is used is to build and verify the chain.

Delegation may be required when using this cmdlet with Windows PowerShell® remoting and changing user configuration.

パラメーター

-AllowUntrustedRoot

Specifies whether the root certificate is required to be trusted in chain building. When this parameter is used, the certificate chain is built but an untrusted root is allowed. Other errors are still verified against in this case, such as expired. If this parameter is not specified, then revocation status is checked by default.

Aliases

none

必須/オプション

false

位置

named

既定値

none

パイプライン入力の受け入れ

false

ワイルドカード文字の受け入れ

false

-Cert<Certificate>

Specifies the certificate to test. Either the certificate object or a path to the certificate in a certificate store can be specified.

Aliases

PsPath

必須/オプション

true

位置

1

既定値

none

パイプライン入力の受け入れ

true (ByPropertyName)

ワイルドカード文字の受け入れ

false

-DNSName<String>

Specifies the DNS name to verify as valid for the certificate.
If this parameter is specified but not the Policy parameter, then the CERT_CHAIN_POLICY_SSL policy is applied and the DNS name is validated for the certificate. If a CERT_CHAIN_POLICY_SSL policy does not exist, then the cmdlet will fail.
If this parameter is not used and the Policy parameter is not specified, the default CERT_CHAIN_POLICY_BASE policy is applied.

Aliases

none

必須/オプション

false

位置

named

既定値

none

パイプライン入力の受け入れ

false

ワイルドカード文字の受け入れ

false

-EKU<String[]>

Specifies a list of enhanced key usage (EKU) object identifiers to verify for the certificate chain.

Aliases

none

必須/オプション

false

位置

named

既定値

none

パイプライン入力の受け入れ

false

ワイルドカード文字の受け入れ

false

-Policy<TestCertificatePolicy>

Specifies the policies that will be applied to verify the certificate. このパラメーターに指定できる値は、次のとおりです。 AUTHENTICODE, BASE, NTAUTH, and SSL. If this parameter is not specified, then the BASE policy is used.

Aliases

none

必須/オプション

false

位置

named

既定値

none

パイプライン入力の受け入れ

false

ワイルドカード文字の受け入れ

false

-User

Specifies whether the user or machine context is used to test the certificate. If this parameter is not specified, then the machine context is used.

Aliases

none

必須/オプション

false

位置

named

既定値

none

パイプライン入力の受け入れ

false

ワイルドカード文字の受け入れ

false

<CommonParameters>

このコマンドレットは共通のパラメーターをサポートしています(-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable)。詳細については、TechNet の「 「about_CommonParameters」 (https://go.microsoft.com/fwlink/p/?LinkID=113216) を参照してください。

入力

入力型は、コマンドレットにパイプできるオブジェクトの型です。

  • Microsoft.CertificateServices.Commands.Certificate

    The Certificate object can either be provided as a Path object to a certificate or an X509Certificate2 object.

出力

出力型は、コマンドレットが出力するオブジェクトの型です。

  • System.Boolean

    If the verification succeeds, then the return value is True; otherwise the return value is False.

使用例

EXAMPLE 1

This example verifies each certificate in the MY store of the local machine and verifies that it is valid for SSL with the DNS name specified.

PS C:\> Get-ChildItem -Path Cert:\localMachine\My | Test-Certificate -Policy SSL -DNSName "dns=contoso.com"

EXAMPLE 2

This example verifies that the provided EKU is valid for the specified certificate and its chain. Revocation checking is not performed.

PS C:\> Test-Certificate –Cert cert:\currentuser\my\191c46f680f08a9e6ef3f6783140f60a979c7d3b -AllowUntrustedRoot -EKU "1.3.6.1.5.5.7.3.1" –User

関連項目

Get-ChildItem