이 문서에서는 Rust에서 기본 rustls 암호화 제공자를 전환하는 방법을 설명합니다. 애플리케이션에 Google 기본값으로 충족되지 않는 특정 요구사항이 있는 경우 기본 암호화 제공자를 전환하는 것이 좋습니다.
Rust 클라이언트 라이브러리는 Rustls를 사용하여 애플리케이션과 Google Cloud간의 통신을 보호합니다. Rustls는 암호화 기능에 다른 제공자를 사용할 수 있습니다. 기본적으로 클라이언트 라이브러리는 aws-lc-rs 제공자를 사용 설정합니다. 클라이언트 라이브러리는 Google에서 구현한 유명한 암호화 라이브러리인 BoringSSL을 기반으로 하고 FIPS 인증을 받은 유일한 Rust 암호화 제공자이므로 이를 기본값으로 사용합니다.
하지만 일부 애플리케이션에서는 다른 제공업체를 사용해야 할 수 있습니다. 이 가이드에서는 기본 제공업체를 사용 중지하고 자체 제공업체를 구성하는 방법을 보여줍니다. google-cloud-storage를 사용하여 Rust 요구사항을 변경하는 방법을 설명하고 ring을 대체 암호화 제공업체로 사용합니다. 이 프로세스는 다른 클라이언트 라이브러리에 맞게 맞춤설정할 수 있습니다. 추가 제공업체는 rustls 문서를 참고하세요.
기본 암호화 제공자와 함께 클라이언트 라이브러리 사용
기본 암호화 제공자를 사용하려면 클라이언트 라이브러리를 Cargo.toml 파일에 종속 항목으로 추가합니다.
[dependencies]
google-cloud-storage = { version = "1" }
다른 기본 기능이 사용 중지된 기본 암호화폐 제공자 사용
일부 애플리케이션은 종속 항목에서 모든 기본 기능을 사용 중지한 후 사용하려는 기능만 사용 설정하는 것을 선호합니다. 예를 들어 Cargo.toml은 다음과 같이 표시될 수 있습니다.
[dependencies]
google-cloud-storage = { version = "1", default-features = false }
기본 제공업체 기능만 사용 설정하려면 다음을 사용하세요.
[dependencies]
google-cloud-storage = { version = "1", default-features = false, features = ["default-rustls-provider"] }
자체 암호화 제공업체 사용
자체 제공업체를 선택하려면 다음 단계를 따르세요.
기본 기능이 사용 중지된 Rust를 추가하고 제공자에 필요한 종속 항목을 포함합니다. 이 가이드에서는
ring을 사용합니다.`google-cloud-storage` 와 동일한 버전의 `rustls`를 사용해야 합니다.[dependencies] google-cloud-storage = { version = "1", default-features = false } rustls = { version = "0.23", features = ["ring"] }이 제공업체를 설치하도록
main()함수를 변경합니다.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(()) }