クラスCertPathValidator
ã“ã®ã‚¯ãƒ©ã‚¹ã¯ã€ãƒ—ãƒãƒã‚¤ãƒ€ãƒ»ãƒ™ãƒ¼ã‚¹ã®ã‚¢ãƒ¼ã‚テクãƒãƒ£ã‚’使用ã—ã¾ã™ã€‚ CertPathValidatorを作æˆã™ã‚‹ã«ã¯ã€static getInstanceメソッドã®ã†ã¡ã®1ã¤ã‚’呼ã³å‡ºã—ã¦ã€ä½œæˆã™ã‚‹CertPathValidatorã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ åã¨ãƒ—ãƒãƒã‚¤ãƒ€å(オプション)を渡ã—ã¾ã™ã€‚
CertPathValidatorオブジェクトãŒä½œæˆã•れるã¨ã€validateメソッドを呼ã³å‡ºã—ã¦ã€æ¤œè¨¼å¯¾è±¡ã®CertPathã¨ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ 固有ã®ãƒ‘ラメータ・セットを渡ã™ã“ã¨ã§ã€è¨¼æ˜Žæ›¸ãƒ‘ã‚¹ãŒæ¤œæŸ»ã•れã¾ã™ã€‚ è¨¼æ˜Žæ›¸ãƒ‘ã‚¹ã®æ¤œæŸ»ã«æˆåŠŸã™ã‚‹ã¨ã€CertPathValidatorResultインタフェースを実装ã™ã‚‹ã‚ªãƒ–ジェクトã«ãã®çµæžœãŒè¿”ã•れã¾ã™ã€‚
アプリケーションã¯getRevocationChecker()メソッドを使用ã—ã¦ã€CertPathValidatorãŒè¨¼æ˜Žæ›¸ã®å¤±åŠ¹ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã¨ãã«ä½¿ç”¨ã™ã‚‹è¿½åŠ ã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ 固有ã®ãƒ‘ラメータãŠã‚ˆã³ã‚ªãƒ—ションを指定ã§ãã¾ã™ã€‚ 次ã®ä¾‹ã¯ã€PKIXアルゴリズムã§ã®ä½¿ç”¨æ–¹æ³•を示ã—ã¦ã„ã¾ã™ã€‚
CertPathValidator cpv = CertPathValidator.getInstance("PKIX");
PKIXRevocationChecker rc = (PKIXRevocationChecker)cpv.getRevocationChecker();
rc.setOptions(EnumSet.of(Option.SOFT_FAIL));
params.addCertPathChecker(rc);
CertPathValidatorResult cpvr = cpv.validate(path, params);
Javaプラットフォームã®å®Ÿè£…ã¯ã€ã™ã¹ã¦æ¬¡ã®æ¨™æº–ã®CertPathValidatorアルゴリズムをサãƒãƒ¼ãƒˆã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
PKIX
並行アクセス
ã“ã®ã‚¯ãƒ©ã‚¹ã®staticメソッドã¯ã€ã‚¹ãƒ¬ãƒƒãƒ‰ãƒ»ã‚»ãƒ¼ãƒ•ã§ã‚ã‚‹ã“ã¨ãŒä¿è¨¼ã•れã¦ã„ã¾ã™ã€‚ ã“ã®ã‚¯ãƒ©ã‚¹ã§å®šç¾©ã•れã¦ã„ã‚‹staticメソッドã¯ã€æ‚ªå½±éŸ¿ã‚’与ãˆã‚‹ã“ã¨ãªãã€è¤‡æ•°ã‚¹ãƒ¬ãƒƒãƒ‰ãŒä¸¦è¡Œã—ã¦å‘¼ã³å‡ºã™ã“ã¨ãŒã§ãã¾ã™ã€‚
ã—ã‹ã—ã“ã®ã“ã¨ã¯ã€ã“ã®ã‚¯ãƒ©ã‚¹ã§å®šç¾©ã•れã¦ã„ã‚‹éžstaticメソッドã«ã¯å½“ã¦ã¯ã¾ã‚Šã¾ã›ã‚“。 特定ã®ãƒ—ãƒãƒã‚¤ãƒ€ã§ç‰¹ã«èª¬æ˜ŽãŒãªã„ã‹ãŽã‚Šã€å˜ä¸€ã®CertPathValidatorインスタンスã«ä¸¦è¡Œã—ã¦ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹å¿…è¦ã®ã‚る複数スレッドã¯ã€ã‚¹ãƒ¬ãƒƒãƒ‰é–“ã§åŒæœŸã‚’å–りã€å¿…è¦ã«å¿œã˜ã¦ãƒãƒƒã‚¯ã—ãªã‘れã°ã„ã‘ã¾ã›ã‚“。 ç•°ãªã‚‹CertPathValidatorインスタンスをæ“作ã™ã‚‹è¤‡æ•°ã‚¹ãƒ¬ãƒƒãƒ‰ã¯ã€åŒæœŸåŒ–ã•れる必è¦ã¯ã‚りã¾ã›ã‚“。
- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 1.4
- é–¢é€£é …ç›®:
-
コンストラクタã®ã‚µãƒžãƒªãƒ¼
コンストラクタ修飾åコンストラクタ説明protectedCertPathValidator(CertPathValidatorSpi validatorSpi, Provider provider, String algorithm) 指定ã•れãŸã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã®CertPathValidatorオブジェクトを作æˆã—ã€æŒ‡å®šã•れãŸãƒ—ãƒãƒã‚¤ãƒ€ã®å®Ÿè£…(SPIオブジェクト)ã‚’ãã“ã«ã‚«ãƒ—セル化ã—ã¾ã™ã€‚ -
メソッドã®ã‚µãƒžãƒªãƒ¼
修飾åã¨åž‹ãƒ¡ã‚½ãƒƒãƒ‰èª¬æ˜Žfinal Stringã“ã®CertPathValidatorã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ åã‚’è¿”ã—ã¾ã™ã€‚static final Stringcertpathvalidator.typeã‚»ã‚ュリティ・プãƒãƒ‘ãƒ†ã‚£ã«æŒ‡å®šã•れãŸãƒ‡ãƒ•ォルトã®CertPathValidatorタイプを返ã—ã¾ã™ã€‚該当ã™ã‚‹ãƒ—ãƒãƒ‘ティãŒå˜åœ¨ã—ãªã„å ´åˆã¯æ–‡å—列「PKIXã€ã‚’è¿”ã—ã¾ã™ã€‚static CertPathValidatorgetInstance(String algorithm) 指定ã•れãŸã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ を実装ã™ã‚‹CertPathValidatorオブジェクトを返ã—ã¾ã™ã€‚static CertPathValidatorgetInstance(String algorithm, String provider) 指定ã•れãŸã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ を実装ã™ã‚‹CertPathValidatorオブジェクトを返ã—ã¾ã™ã€‚static CertPathValidatorgetInstance(String algorithm, Provider provider) 指定ã•れãŸã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ を実装ã™ã‚‹CertPathValidatorオブジェクトを返ã—ã¾ã™ã€‚final Providerã“ã®CertPathValidatorã®Providerã‚’è¿”ã—ã¾ã™ã€‚final CertPathCheckerカプセル化ã•れãŸCertPathValidatorSpi実装ãŒè¨¼æ˜Žæ›¸ã®å¤±åŠ¹ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã™ã‚‹CertPathCheckerã‚’è¿”ã—ã¾ã™ã€‚final CertPathValidatorResultvalidate(CertPath certPath, CertPathParameters params) 指定ã—ãŸã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã®ãƒ‘ラメータ・セットを使用ã—ã¦ã€æŒ‡å®šã—ãŸè¨¼æ˜Žæ›¸ãƒ‘スを検査ã—ã¾ã™ã€‚
-
コンストラクタã®è©³ç´°
-
CertPathValidator
protected CertPathValidator(CertPathValidatorSpi validatorSpi, Provider provider, String algorithm) 指定ã•れãŸã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã®CertPathValidatorオブジェクトを作æˆã—ã€æŒ‡å®šã•れãŸãƒ—ãƒãƒã‚¤ãƒ€ã®å®Ÿè£…(SPIオブジェクト)ã‚’ãã“ã«ã‚«ãƒ—セル化ã—ã¾ã™ã€‚- パラメータ:
validatorSpi- プãƒãƒã‚¤ãƒ€ã®å®Ÿè£…provider- プãƒãƒã‚¤ãƒ€algorithm- アルゴリズムå
-
-
メソッドã®è©³ç´°
-
getInstance
public static CertPathValidator getInstance(String algorithm) throws NoSuchAlgorithmException 指定ã•れãŸã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ を実装ã™ã‚‹CertPathValidatorオブジェクトを返ã—ã¾ã™ã€‚ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€æœ€å„ªå…ˆã®Providerã‹ã‚‰é †ã«ã€ç™»éŒ²æ¸ˆã¿ã®ã‚»ã‚ュリティProviderã®ãƒªã‚¹ãƒˆã‚’トラãƒãƒ¼ã‚¹ã—ã¾ã™ã€‚ 指定ã•れãŸã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ をサãƒãƒ¼ãƒˆã™ã‚‹æœ€åˆã®Providerã®CertPathValidatorSpi実装をカプセル化ã™ã‚‹æ–°ã—ã„CertPathValidatorオブジェクトãŒè¿”ã•れã¾ã™ã€‚
登録済ã¿ãƒ—ãƒãƒã‚¤ãƒ€ã®ãƒªã‚¹ãƒˆã¯ã€
Security.getProviders()メソッド経由ã§å–å¾—ã§ãã¾ã™ã€‚- 実装上ã®ãƒŽãƒ¼ãƒˆ:
- JDKリファレンス実装ã§ã¯ã€ã•らã«
jdk.security.provider.preferredSecurityプãƒãƒ‘ティを使用ã—ã¦ã€æŒ‡å®šã—ãŸã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã®å„ªå…ˆãƒ—ãƒãƒã‚¤ãƒ€é †åºã‚’決定ã—ã¾ã™ã€‚ ã“れã¯ã€Security.getProviders()ã«ã‚ˆã£ã¦è¿”ã•れるプãƒãƒã‚¤ãƒ€ã®é †åºã¨ã¯ç•°ãªã‚‹å ´åˆãŒã‚りã¾ã™ã€‚ - パラメータ:
algorithm- è¦æ±‚ã™ã‚‹CertPathValidatorアルゴリズムã®åå‰ã€‚ 標準アルゴリズムåã®è©³ç´°ã¯ã€ã€ŒJavaã‚»ã‚ュリティ標準アルゴリズムå仕様ã€ã®CertPathValidatorã®é …ã‚’å‚ç…§ã—ã¦ãã ã•ã„。- 戻り値:
- 指定ã•れãŸã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ を実装ã™ã‚‹
CertPathValidatorオブジェクト - スãƒãƒ¼:
NoSuchAlgorithmException-ProviderãŒã€æŒ‡å®šã•れãŸã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã®CertPathValidatorSpi実装をサãƒãƒ¼ãƒˆã—ã¦ã„ãªã„å ´åˆNullPointerException-algorithmãŒnullã§ã‚ã‚‹å ´åˆ- é–¢é€£é …ç›®:
-
getInstance
public static CertPathValidator getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException 指定ã•れãŸã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ を実装ã™ã‚‹CertPathValidatorオブジェクトを返ã—ã¾ã™ã€‚指定ã•れãŸãƒ—ãƒãƒã‚¤ãƒ€ã®CertPathValidatorSpi実装をカプセル化ã™ã‚‹æ–°ã—ã„CertPathValidatorオブジェクトãŒè¿”ã•れã¾ã™ã€‚ 指定ã—ãŸãƒ—ãƒãƒã‚¤ãƒ€ã¯ã€ã‚»ã‚ュリティ・プãƒãƒã‚¤ãƒ€ãƒ»ãƒªã‚¹ãƒˆã«ç™»éŒ²ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
登録済ã¿ãƒ—ãƒãƒã‚¤ãƒ€ã®ãƒªã‚¹ãƒˆã¯ã€
Security.getProviders()メソッド経由ã§å–å¾—ã§ãã¾ã™ã€‚- パラメータ:
algorithm- è¦æ±‚ã™ã‚‹CertPathValidatorアルゴリズムã®åå‰ã€‚ 標準アルゴリズムåã®è©³ç´°ã¯ã€ã€ŒJavaã‚»ã‚ュリティ標準アルゴリズムå仕様ã€ã®CertPathValidatorã®é …ã‚’å‚ç…§ã—ã¦ãã ã•ã„。provider- プãƒãƒã‚¤ãƒ€å。- 戻り値:
- 指定ã•れãŸã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ を実装ã™ã‚‹
CertPathValidatorオブジェクト - スãƒãƒ¼:
IllegalArgumentException-providerãŒnullã¾ãŸã¯ç©ºã®å ´åˆNoSuchAlgorithmException- 指定ã•れãŸã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã®CertPathValidatorSpi実装ãŒã€æŒ‡å®šã•れãŸãƒ—ãƒãƒã‚¤ãƒ€ã‹ã‚‰åˆ©ç”¨å¯èƒ½ã§ãªã„å ´åˆNoSuchProviderException- 指定ã•れãŸãƒ—ãƒãƒã‚¤ãƒ€ãŒã‚»ã‚ュリティ・プãƒãƒã‚¤ãƒ€ãƒ»ãƒªã‚¹ãƒˆã«ç™»éŒ²ã•れã¦ã„ãªã„å ´åˆNullPointerException-algorithmãŒnullã§ã‚ã‚‹å ´åˆ- é–¢é€£é …ç›®:
-
getInstance
public static CertPathValidator getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException 指定ã•れãŸã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ を実装ã™ã‚‹CertPathValidatorオブジェクトを返ã—ã¾ã™ã€‚指定ã•れãŸProviderオブジェクトã®CertPathValidatorSpi実装をカプセル化ã™ã‚‹æ–°ã—ã„CertPathValidatorオブジェクトãŒè¿”ã•れã¾ã™ã€‚ 指定ã•れãŸProviderオブジェクトã¯ã€ãƒ—ãƒãƒã‚¤ãƒ€ãƒ»ãƒªã‚¹ãƒˆã«ç™»éŒ²ã™ã‚‹å¿…è¦ã¯ã‚りã¾ã›ã‚“。
- パラメータ:
algorithm- è¦æ±‚ã™ã‚‹CertPathValidatorアルゴリズムã®åå‰ã€‚ 標準アルゴリズムåã®è©³ç´°ã¯ã€ã€ŒJavaã‚»ã‚ュリティ標準アルゴリズムå仕様ã€ã®CertPathValidatorã®é …ã‚’å‚ç…§ã—ã¦ãã ã•ã„。provider- プãƒãƒã‚¤ãƒ€- 戻り値:
- 指定ã•れãŸã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ を実装ã™ã‚‹
CertPathValidatorオブジェクト - スãƒãƒ¼:
IllegalArgumentException-providerãŒnullã®å ´åˆNoSuchAlgorithmException- 指定ã•れãŸProviderオブジェクトã‹ã‚‰æŒ‡å®šã•れãŸã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã®CertPathValidatorSpi実装を使用ã§ããªã„å ´åˆNullPointerException-algorithmãŒnullã§ã‚ã‚‹å ´åˆ- é–¢é€£é …ç›®:
-
getProvider
public final Provider getProvider()ã“ã®CertPathValidatorã®Providerã‚’è¿”ã—ã¾ã™ã€‚- 戻り値:
- ã“ã®
CertPathValidatorã®Provider
-
getAlgorithm
public final String getAlgorithm()ã“ã®CertPathValidatorã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ åã‚’è¿”ã—ã¾ã™ã€‚- 戻り値:
- ã“ã®
CertPathValidatorã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ å
-
validate
public final CertPathValidatorResult validate(CertPath certPath, CertPathParameters params) throws CertPathValidatorException, InvalidAlgorithmParameterException 指定ã—ãŸã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã®ãƒ‘ラメータ・セットを使用ã—ã¦ã€æŒ‡å®šã—ãŸè¨¼æ˜Žæ›¸ãƒ‘スを検査ã—ã¾ã™ã€‚指定ã—ãŸ
CertPathã¯ã€æ¤œæŸ»ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã§ã‚µãƒãƒ¼ãƒˆã•れã¦ã„るタイプã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ãã†ã§ãªã„å ´åˆã¯ã€InvalidAlgorithmParameterExceptionãŒã‚¹ãƒãƒ¼ã•れã¾ã™ã€‚ ãŸã¨ãˆã°ã€PKIXアルゴリズムを実装ã™ã‚‹CertPathValidatorã§ã¯ã€ã‚¿ã‚¤ãƒ—X.509ã®CertPathオブジェクトを検査ã—ã¾ã™ã€‚- パラメータ:
certPath- 検査ã™ã‚‹CertPathparams- アルゴリズム・パラメータ- 戻り値:
- 検査アルゴリズムã®çµæžœ
- スãƒãƒ¼:
CertPathValidatorException-CertPathãŒæœ‰åйã§ãªã„å ´åˆInvalidAlgorithmParameterException- 指定ã•れãŸãƒ‘ラメータã¾ãŸã¯æŒ‡å®šã•れãŸCertPathã®ã‚¿ã‚¤ãƒ—ãŒã“ã®CertPathValidatorã«å¯¾ã—ã¦ä¸é©åˆ‡ã§ã‚ã‚‹å ´åˆ
-
getDefaultType
public static final String getDefaultType()certpathvalidator.typeã‚»ã‚ュリティ・プãƒãƒ‘ãƒ†ã‚£ã«æŒ‡å®šã•れãŸãƒ‡ãƒ•ォルトã®CertPathValidatorタイプを返ã—ã¾ã™ã€‚該当ã™ã‚‹ãƒ—ãƒãƒ‘ティãŒå˜åœ¨ã—ãªã„å ´åˆã¯æ–‡å—列「PKIXã€ã‚’è¿”ã—ã¾ã™ã€‚デフォルトã®
CertPathValidatorタイプを使用ã™ã‚‹ã®ã¯ã€ã‚¢ãƒ—リケーションã§getInstanceメソッドを呼ã³å‡ºã™ã¨ãã«ãƒãƒ¼ãƒ‰ã‚³ãƒ¼ãƒ‰ã•れãŸã‚¿ã‚¤ãƒ—を使用ã—ãªã„å ´åˆã€ãŠã‚ˆã³ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒç‹¬è‡ªã®ã‚¿ã‚¤ãƒ—を指定ã—ãªã„ã¨ãã«ãƒ‡ãƒ•ォルトã®ã‚¿ã‚¤ãƒ—ã‚’æä¾›ã™ã‚‹å ´åˆã§ã™ã€‚デフォルトã®
CertPathValidatorタイプã¯ã€certpathvalidator.typeã‚»ã‚ュリティ・プãƒãƒ‘ティã®å€¤ã‚’目的ã®ã‚¿ã‚¤ãƒ—ã«è¨å®šã™ã‚‹ã“ã¨ã§å¤‰æ›´ã§ãã¾ã™ã€‚- 戻り値:
certpathvalidator.typeã‚»ã‚ュリティ・プãƒãƒ‘ãƒ†ã‚£ã«æŒ‡å®šã•れã¦ã„るデフォルトã®CertPathValidatorタイプã€è©²å½“ã™ã‚‹ãƒ—ãƒãƒ‘ティãŒå˜åœ¨ã—ãªã„å ´åˆã¯æ–‡å—列「PKIXã€ã€‚- é–¢é€£é …ç›®:
-
getRevocationChecker
public final CertPathChecker getRevocationChecker()カプセル化ã•れãŸCertPathValidatorSpi実装ãŒè¨¼æ˜Žæ›¸ã®å¤±åŠ¹ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã™ã‚‹CertPathCheckerã‚’è¿”ã—ã¾ã™ã€‚ PKIX実装ã¯ã€PKIXRevocationCheckeråž‹ã®ã‚ªãƒ–ジェクトを返ã—ã¾ã™ã€‚ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’呼ã³å‡ºã™ãŸã³ã«ã€CertPathCheckerã®æ–°ã—ã„インスタンスãŒè¿”ã•れã¾ã™ã€‚ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã®ä¸»ãªç›®çš„ã¯ã€å‘¼å‡ºã—å´ãŒå¤±åйãƒã‚§ãƒƒã‚¯ã«å›ºæœ‰ã®è¿½åŠ ã®å…¥åŠ›ãƒ‘ãƒ©ãƒ¡ãƒ¼ã‚¿ãŠã‚ˆã³ã‚ªãƒ—ションを指定ã§ãるよã†ã«ã™ã‚‹ã“ã¨ã§ã™ã€‚ 具体例ã«ã¤ã„ã¦ã¯ã€ã‚¯ãƒ©ã‚¹ã®èª¬æ˜Žã‚’å‚ç…§ã—ã¦ãã ã•ã„。
- 戻り値:
CertPathChecker- スãƒãƒ¼:
UnsupportedOperationException- サービス・プãƒãƒã‚¤ãƒ€ãŒã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’サãƒãƒ¼ãƒˆã—ãªã„å ´åˆ- å°Žå…¥ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³:
- 1.8
-