偵測預設關鍵程式庫變更

在 Java 11 中,預設的 keystore 已從 JKS 收件者 PKCS12. 因此,依賴於 KeyStore.getDefaultType() 遷移後可能會遇到問題,除非他們的 JKS keystore 已經轉換為 PKCS12。

本規則識別和標記使用 KeyStore.getDefaultType() 方法。 如果開發人員需要維持與 JKS 的相容性,他們可以在應用程式中手動指定 keystore 類型為 "jks"。

例如,請考慮以下程式碼片段:

KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());

而不是依賴由 KeyStore.getDefaultType(), 在 Java11 中,使用者可以像這樣明確指定 "jks":

KeyStore keystore = KeyStore.getInstance("jks"));

此規則具有自動修正功能,可返回 "jks" 何時 KeyStore.getDefaultType()方法被呼叫。

自訂配置複製到應用程式建置檔,以啟用修正程式自動化。

如需相關資訊,請參閱下列資源: