MCPcopy Create free account
hub / github.com/Dstack-TEE/dstack / get_tls_key

Method get_tls_key

guest-agent/src/rpc_service.rs:258–281  ·  view source on GitHub ↗
(self, request: GetTlsKeyArgs)

Source from the content-addressed store, hash-verified

256
257impl DstackGuestRpc for InternalRpcHandler {
258 async fn get_tls_key(self, request: GetTlsKeyArgs) -> anyhow::Result<GetTlsKeyResponse> {
259 let mut seed = [0u8; 32];
260 SystemRandom::new()
261 .fill(&mut seed)
262 .context("Failed to generate secure seed")?;
263 let derived_key =
264 derive_p256_key_pair_from_bytes(&seed, &[]).context("Failed to derive key")?;
265 let config = CertConfigV2 {
266 org_name: None,
267 subject: request.subject,
268 subject_alt_names: request.alt_names,
269 usage_server_auth: request.usage_server_auth,
270 usage_client_auth: request.usage_client_auth,
271 ext_quote: request.usage_ra_tls,
272 ext_app_info: request.with_app_info,
273 not_after: request.not_after,
274 not_before: request.not_before,
275 };
276 let certificate_chain = self.state.inner.issue_cert(&derived_key, config).await?;
277 Ok(GetTlsKeyResponse {
278 key: derived_key.serialize_pem(),
279 certificate_chain,
280 })
281 }
282
283 async fn get_key(self, request: GetKeyArgs) -> Result<GetKeyResponse> {
284 let k256_app_key = &self.state.inner.keys.k256_key;

Callers 1

gen_prod_certsFunction · 0.45

Calls 2

issue_certMethod · 0.80

Tested by

no test coverage detected