In diesem Dokument wird beschrieben, wie Sie den standardmäßigen rustls-Kryptoanbieter in Rust ändern. Möglicherweise möchten Sie den standardmäßigen Kryptografieanbieter wechseln, wenn Ihre Anwendung bestimmte Anforderungen hat, die von unserem Standard nicht erfüllt werden.
Die Rust-Clientbibliotheken verwenden Rustls, um die Kommunikation zwischen Ihrer Anwendung und Google Cloudzu sichern. Rustls kann verschiedene Anbieter für kryptografische Funktionen verwenden. Standardmäßig aktivieren die Clientbibliotheken den Anbieter aws-lc-rs. Die Clientbibliotheken verwenden diese als Standard, da sie auf BoringSSL basiert, einer angesehenen Kryptografiebibliothek, die von Google implementiert wurde. Außerdem ist sie der einzige Rust-Kryptografieanbieter, der FIPS-zertifiziert ist.
Trotzdem müssen einige Anwendungen möglicherweise einen anderen Anbieter verwenden. In diesem Leitfaden wird beschrieben, wie Sie den Standardanbieter deaktivieren und einen eigenen konfigurieren. Dabei wird anhand von google-cloud-storage veranschaulicht, wie Sie die Anforderungen für Rust ändern. ring wird als alternativer Kryptoanbieter verwendet. Dieser Prozess kann für andere Clientbibliotheken angepasst werden. Weitere Anbieter finden Sie in der rustls-Dokumentation.
Clientbibliotheken mit dem Standard-Kryptoanbieter verwenden
Wenn Sie den Standard-Krypto-Anbieter verwenden möchten, fügen Sie die Clientbibliothek als Abhängigkeit in Ihre Cargo.toml-Datei ein:
[dependencies]
google-cloud-storage = { version = "1" }
Standardmäßigen Kryptoanbieter verwenden, während andere Standardfunktionen deaktiviert sind
Bei einigen Anwendungen werden alle Standardfunktionen in den Abhängigkeiten deaktiviert und dann nur die Funktionen aktiviert, die verwendet werden sollen. Beispiel: Ihre Cargo.toml könnte so aussehen:
[dependencies]
google-cloud-storage = { version = "1", default-features = false }
So aktivieren Sie nur die Funktion „Standardanbieter“:
[dependencies]
google-cloud-storage = { version = "1", default-features = false, features = ["default-rustls-provider"] }
Eigenen Kryptoanbieter verwenden
So wählen Sie Ihren eigenen Anbieter aus:
Fügen Sie Rust hinzu, wobei die Standardfunktionen deaktiviert sind, und fügen Sie alle für Ihren Anbieter erforderlichen Abhängigkeiten hinzu. In diesem Leitfaden verwenden wir
ring:Sie müssen dieselbe Version von `rustls` wie `google-cloud-storage` verwenden.[dependencies] google-cloud-storage = { version = "1", default-features = false } rustls = { version = "0.23", features = ["ring"] }Ändern Sie die
main()-Funktion, um diesen Anbieter zu installieren:use rustls::crypto::{CryptoProvider, ring::default_provider}; #[tokio::main] async fn main() -> anyhow::Result<()> { // Install a default crypto provider. CryptoProvider::install_default(default_provider()) .map_err(|_| anyhow::anyhow!("default crypto provider already installed"))?; // ... ... ... Ok(()) }