SHA-1 アルゴリズムで署名された JAR は現在では制限されている

Java SE 17 では、SHA-1 アルゴリズムで署名された JAR はデフォルトで制限されており、署名されていない場合と同様に処理されるようになりました。これは、JAR のダイジェストと署名、およびオプションでタイム・スタンプに使用されるアルゴリズムにも適用されます。また、コード署名者およびタイム・スタンプ機関の証明書チェーン内の証明書の署名アルゴリズムおよびダイジェスト・アルゴリズム、および、それらの証明書が失効している場合に検証に使用される CRL または OCSP 応答にも適用されます。

以前にタイム・スタンプされたアプリケーションまたはプライベート CA を使用するアプリケーションの互換性のリスクを軽減するため、このポリシーには以下の 2 つの例外があります。

これらの例外は将来の JDK リリースで除去される可能性があります。

SHA-1 は現在では安全とは見なされなくなったため、これを使用することは推奨されません。ユーザーは、java.security 構成ファイルを変更 (または java.security.properties システム・プロパティーを使用してオーバーライド) して、jdk.certpath.disabledAlgorithms セキュリティー・プロパティーから SHA1 jdkCA & usage SignedJAR & denyAfter 2019-01-01 を削除し、jdk.jar.disabledAlgorithms セキュリティー・プロパティーから SHA1 jdkCA & denyAfter 2019-01-01 を削除することによってこれらの制限を解除することができますが、この操作はユーザーの責任で行ってください。

これらの制限について詳しくは、 Disable SHA-1 Signed JARs を参照してください。