Questo documento descrive come cambiare il fornitore di servizi di crittografia rustls predefinito in
Rust. Potresti voler cambiare il fornitore di servizi di crittografia predefinito
se la tua applicazione ha requisiti specifici non soddisfatti dal nostro valore predefinito.
Le librerie client Rust utilizzano Rustls per proteggere la comunicazione tra l'applicazione e Google Cloud. Rustls può utilizzare provider diversi per le funzioni crittografiche. Per impostazione predefinita, le librerie client attivano il provider aws-lc-rs. Le librerie client lo utilizzano come impostazione predefinita perché si basa su BoringSSL, una libreria crittografica molto apprezzata implementata da Google, ed è l'unico provider di crittografia Rust certificato FIPS.
Tuttavia, alcune applicazioni potrebbero dover utilizzare un altro fornitore. Questa guida
mostra come disattivare il provider predefinito e configurare il tuo, utilizzando
google-cloud-storage per illustrare come modificare i requisiti per
Rust, con ring come provider di crittografia alternativo. Questo processo
può essere personalizzato per altre librerie client. Per altri fornitori, consulta la documentazione di rustls.
Utilizzare le librerie client con il provider di crittografia predefinito
Per utilizzare il fornitore di servizi di crittografia predefinito, aggiungi la libreria client come dipendenza al
file Cargo.toml:
[dependencies]
google-cloud-storage = { version = "1" }
Utilizzare il provider di crittografia predefinito con altre funzionalità predefinite disattivate
Alcune applicazioni preferiscono disattivare tutte le funzionalità predefinite nelle
dipendenze e poi attivare solo quelle che vogliono utilizzare. Ad esempio, il tuo Cargo.toml potrebbe essere:
[dependencies]
google-cloud-storage = { version = "1", default-features = false }
Per attivare solo l'utilizzo della funzionalità del provider predefinito:
[dependencies]
google-cloud-storage = { version = "1", default-features = false, features = ["default-rustls-provider"] }
Utilizzare il proprio fornitore di criptovalute
Per selezionare il tuo fornitore:
Aggiungi Rust con le funzionalità predefinite disattivate e includi le dipendenze necessarie per il tuo fornitore. In questa guida viene utilizzato
ring:Devi utilizzare la stessa versione di `rustls` di `google-cloud-storage`.[dependencies] google-cloud-storage = { version = "1", default-features = false } rustls = { version = "0.23", features = ["ring"] }Modifica la funzione
main()per installare questo fornitore: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(()) }