> For the complete documentation index, see [llms.txt](https://docs.keeper.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.keeper.io/release-notes/jp/enterprise/keeper-secrets-manager/2026/rust-sdk-17.3.0.md).

# Rust SDK 17.3.0

* **KSM-904:** 分離環境向けにカスタムサーバー公開鍵のサポートを追加。公開鍵は、4セグメント形式の拡張ワンタイムトークン (`<region>:clientKey:keyId:serverPublicKeyBase64`)、`serverPublicKey` 設定項目、または `ClientOptions::set_server_public_key()` / `set_server_public_key_id()` によるプログラムからの設定の3つの方法で指定できます (プログラムから設定した値が優先されます)。カスタム公開鍵が有効な間は、サーバーから送信される鍵ローテーション通知は適用されず、カスタム公開鍵が呼び出し間で保持されます。
* **KSM-882:** 指数バックオフによる自動スロットリングリトライを追加。HTTP 403によるスロットリング応答を最大5回まで自動的に再試行します (11秒、22秒、44秒、88秒、176秒 ±25%のジッター付き)。応答に `retry_after` が含まれる場合はその値を優先します。すべての再試行が失敗した場合は `KSMRError::Throttled` を返します。既存コードの変更は不要です。
* **KSM-997 / KSM-1009:** `Record::get_links()` による型付きリンク認証情報アクセサを追加。`KeeperRecordLink` オブジェクトとして権限や認証情報フラグの取得、構造化された設定アクセサ、およびAI/JIT設定ペイロードのAES-256-GCM復号に対応しています。従来の `links` フィールドは変更されません。
* **KSM-999:** `KeeperFile::save_to_file(path)` を追加。必要に応じてファイルをダウンロードし、復号後の内容を1回の呼び出しでディスクへ保存できます。`&str`、`String`、`&Path`、`PathBuf` をサポートします。
* **KSM-999:** 読み取り専用の文字列パラメーターが `impl AsRef<str>` に対応 (`get_notation`、`get_notation_result`、`create_secret`、`update_folder`)。`KeeperFile::save_file` は `impl AsRef<Path>`、各コンストラクタ (`ClientOptions::new`、`RecordCreate::new`、`KeeperField::new`、`complete_transaction`) は `impl Into<String>` に対応しました。既存の `String` を使用するコードはそのまま動作します。
* **KSM-891 / KSM-892 / KSM-893:** ログ初期化機能を `tracing-init` フィーチャー、ブロッキングHTTPを `blocking` フィーチャーとして分離。いずれも `default` に含まれます。`default-features = false` でビルドした場合、これらの依存関係は含まれなくなります。
* **KSM-1000:** `totp` フィーチャーを無効化可能に変更。コアライブラリからの依存関係を削除したため、`default-features = false` でもTOTPなしで完全に利用可能。
* **KSM-998:** SDKのデフォルトとは異なるサーバー公開鍵を使用している環境へ接続した際、401エラーの再試行ループに陥ることがある不具合を修正。ローテーション後の公開鍵が最初の再試行時に適用されるため、正常に接続できるようになりました。
* **KSM-973:** `SecretsManager::new()` の遅延バインドの動作に関する説明を明確化。ワンタイムトークンはコンストラクター実行時ではなく、最初のネットワーク呼び出し時に使用されます。設定を外部ストレージへ保存する場合は、エクスポート前に `new()` の直後で `get_secrets(vec![])` を呼び出し、バインドを完了させてください。
* **セキュリティ:** `quinn-proto` を0.11.15へ更新し、RUSTSEC-2026-0185に対応しました。

**リンク**

* [Crates.ioパッケージ](https://crates.io/crates/keeper-secrets-manager-core/17.3.0)
* [docs.rs](https://docs.rs/keeper-secrets-manager-core/17.3.0)
* [Rust SDKに関するドキュメント](/keeperpam/jp/secrets-manager/developer-sdk-library/rust-sdk.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.keeper.io/release-notes/jp/enterprise/keeper-secrets-manager/2026/rust-sdk-17.3.0.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
