(ヽ'ω`) < Javaプログラム起動が「証明書の確認に失敗しました。アプリケーションは実行されません。」で止められる
(ヽ'ω`) < セキュリティ保護のためにブロックされたアプリケーション
Java Web Startで提供されているアプリケーションが、下記のメッセージが表示されて起動できない。
証明書の確認に失敗しました。アプリケーションは実行されません。
詳細情報をクリックすると
sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: algorithm constraints check failed at sun.security.validator.PKIXValidator.doValidate(Unknown Source) at sun.security.validator.PKIXValidator.engineValidate(Unknown Source) at sun.security.validator.Validator.validate(Unknown Source) at sun.security.validator.Validator.validate(Unknown Source) at sun.security.validator.Validator.validate(Unknown Source) at com.sun.deploy.security.TrustDecider.getValidationState(Unknown Source) at com.sun.deploy.security.TrustDecider.validateChain(Unknown Source) at com.sun.deploy.security.TrustDecider.isAllPermissionGranted(Unknown Source) at com.sun.javaws.security.AppPolicy.grantUnrestrictedAccess(Unknown Source) at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResourcesHelper(Unknown Source) at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResources(Unknown Source) at com.sun.javaws.Launcher.prepareResources(Unknown Source) at com.sun.javaws.Launcher.prepareAllResources(Unknown Source) at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source) at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source) at com.sun.javaws.Launcher.launch(Unknown Source) at com.sun.javaws.Main.launchApp(Unknown Source) at com.sun.javaws.Main.continueInSecureThread(Unknown Source) at com.sun.javaws.Main.access$000(Unknown Source) at com.sun.javaws.Main$1.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.security.cert.CertPathValidatorException: algorithm constraints check failed at sun.security.provider.certpath.PKIXMasterCertPathValidator.validate(Unknown Source) at sun.security.provider.certpath.PKIXCertPathValidator.doValidate(Unknown Source) at sun.security.provider.certpath.PKIXCertPathValidator.engineValidate(Unknown Source) at java.security.cert.CertPathValidator.validate(Unknown Source) ... 21 more
どうやら、アルゴリズムの制限チェックに引っかかっているっぽい。
(ヽ'ω`) < と、言われましても…
例外のメッセージで検索すると簡単にヒット。
TECH TIP: "Failed to validate certificate" erro... | CA Communities
なんでもJRE7u40からアプリケーション証明書に必要な鍵長が1024bit以上になったと。
これ以下の鍵長(上記ページでは512bit)の場合は、アルゴリズムの制限チェックに引っかかりエラーが発生する。
(ヽ'ω`) < 対処法
上記URLに書いてあるとおり、
JREがインストールされているディレクトリ、WindowsのデフォルトであればC:\Program Files (x86)\Java\jre*、の更に下、lib/security/java.securityファイルを開く。
下記の行があるはずなので
jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024
例えばこのように書き換える
jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 256
(ヽ'ω`) < でもこれってダメですよね
基本的にはダメ。アプリケーションの発行元に問い合わせて、妥当な鍵長の証明書に更新してもらうべき。