For the complete documentation index, see llms.txt. This page is also available as Markdown.

Java SDK 17.4.0

2026年8月25日リリース

新機能

  • KSM-531: HTTP/HTTPSプロキシのサポートを追加。SDKのすべての接続 (シークレットの取得、ファイルのアップロード、ファイルのダウンロード) をプロキシ経由で行えるようになりました。

    • SecretsManagerOptions に新しい proxyUrl オプションを追加。Java利用者向けに SecretsManagerOptions.withProxy(storage, proxyUrl) も追加。

    • 優先順位: 明示的な proxyUrlhttps.proxyHost / https.proxyPortHTTPS_PROXY / https_proxyNO_PROXY および http.nonProxyHosts の除外設定も反映されます。KSMの通信はすべてHTTPSのため、HTTP_PROXY は無視されます。

    • 認証付きプロキシは http://user:pass@host:port 形式を使用します。407エラー発生時は、型付きの SecretsManagerException が送出され、他のHTTP/HTTPS呼び出しを行う前に設定が必要な jdk.http.auth.tunneling.disabledSchemes JVMフラグの名前が示されます。

    • オプション指定形式の新しいオーバーロード downloadFile(options, file) および downloadThumbnail(options, file) は、proxyUrlallowUnverifiedCertificate、および設定済みのタイムアウトを反映します。引数1つの従来形式は変更ありません。

  • KSM-1176: KeeperRecordisEditable を追加。サーバー応答のエンベロープから転送される値で、updateSecret の呼び出し前に書き込み権限を確認できます。

セキュリティ

  • KSM-1203: generatePassword の最終文字のシャッフルで、暗号学的な乱数源ではなくKotlinの Random.Default を使用していた不具合を修正。SecureRandom を使用するようになりました。

  • KSM-1207: HttpsURLConnection の呼び出し (クエリ、アップロード、ダウンロード) にタイムアウトが設定されておらず、無期限にハングする可能性があった不具合を修正。SecretsManagerOptionsconnectTimeoutMillis (デフォルト5秒) および readTimeoutMillis (デフォルト30秒) を追加。

  • KSM-1248: サーバーから提供されるキーIDを、保存前に組み込みの公開鍵テーブルと照合して検証するようになりました。認識できないIDは、保存済みの鍵状態を上書きせずに拒否されます。キーローテーションの再試行回数は最大3回に制限されます。

  • KSM-1262: 構成ファイルおよびキャッシュファイルの書き込みを、アトミックな一時ファイル置き換え方式に変更し、データ書き込み前に0600権限を設定するようにしました。これにより、書き込み中に他のローカルユーザーがファイルを読み取れる可能性があった問題を解消しました。

バグ修正

  • KSM-1081: レスポンス内のいずれかのフォルダのキーが破損または欠落している場合に getFolders() がクラッシュしていた不具合を修正。復号できないフォルダはスキップされ、残りのフォルダは正常に返されるようになりました。

  • KSM-1086: deleteFolder() が誤ったレスポンス型を返していた不具合を修正。deleteSecret() と同様に、フォルダ単位のステータスを含む SecretsManagerDeleteFolderResponse を返すようになりました。両方の呼び出しで、アイテム単位のサーバー側の失敗が呼び出し元に伝わるようになりました。

  • KSM-1270: サーバーのフォルダデータに親の循環参照が含まれる場合に getSharedFolderKey() が無限ループしていた不具合を修正。該当するフォルダはスキップされるようになりました。

互換性に影響する変更

  1. deleteFolder() の戻り値の型。 SecretsManagerDeleteResponse の代わりに SecretsManagerDeleteFolderResponse を返すようになりました。.records を参照していた呼び出し元は、新しい型の .folders リストへ切り替える必要があります。実際には、既存の動作しているコードへの影響はありません。旧型はバックエンドが送信しない records フィールドを必須としていたため、以前はすべての呼び出しで値を返さず MissingFieldException が送出されていました。

  2. コンストラクタの拡張 (バイトコードレベルのみ)。 KeeperRecord および SecretsManagerOptions にコンストラクタパラメータが追加されました。Javaの呼び出し元は @JvmOverloads により17.3.0の全コンストラクタ形式を引き続き利用できますが、17.3.0向けにコンパイルされたKotlinコードは、再コンパイルせずに17.4.0のjarに入れ替えると NoSuchMethodError が発生します。jarをそのまま置き換えるのではなく、依存先を再ビルドしてください。

リソース

最終更新